2MySQL安装
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2MySQL安装相关的知识,希望对你有一定的参考价值。
mysql组成
客户端程序
mysql:交互式cli工具
mysqldump:备份工具
mysqladmin:基于mysql协议管理
mysqld mysqlimport:数据导入工具
myisamchk:加仓myisam库
myisampack:打包myisam表,只读
客户端命令
mysql> \\h, help 帮助
mysql> \\u,use 选择数据库
mysql> \\s,status 查看当前状态
mysql> \\!,system 执行shell命令
mysql命令
mysql [OPTIONS] [database]
-A, --no-auto-rehash 禁止补全
-u, --user= 用户名,默认为root
-h, --host= 服务器主机,默认为localhost
-p, --passowrd= 用户密码,建议使用-p,默认为空密码
-P, --port= 服务器端口
-S, --socket= 指定连接socket文件路径
-D, --database= 指定默认数据库
-C, --compress 启用压缩
-e “SQL“ 执行SQL命令
-V, --version 显示版本
-v --verbose 显示详细信息
--print-defaults 获取程序默认使用的配置
临时更改mysql提示符
export MYSQL_PS1="\\\\r:\\\\m:\\\\s(\\\\u@\\\\h) [\\\\d]>\\\\_"
mysqladmin命令
mysqladmin [OPTIONS] command command
#查看mysql服务是否正常,如果正常提示mysqld is alive
mysqladmin -uroot -pcentos ping
#关闭mysql服务,但mysqladmin命令无法开启
mysqladmin –uroot –pcentos shutdown
#创建数据库testdb
mysqladmin -uroot –pcentos create testdb
#删除数据库testdb
mysqladmin -uroot -pcentos drop testdb
#修改root密码
mysqladmin –uroot –pcentos password ‘magedu’
#日志滚动,生成新文件/var/lib/mysql/mariadb-bin.00000N
mysqladmin -uroot -pcentos flush-logs
mysql使用模式
交互模式
脚本模式
mysql –uUSERNAME -pPASSWORD < /path/somefile.sql
cat /path/somefile.sql | mysql –uUSERNAME -pPASSWORD
mysql>source /path/from/somefile.sql
服务端程序
服务器端(mysqld):工作特性有多种配置方式
1、命令行选项:
2、配置文件:类ini格式,集中式的配置,能够为mysql的各应用程序提供配置信息
服务器端配置文件:
/etc/my.cnf #Global选项
/etc/mysql/my.cnf #Global选项
~/.my.cnf #User-specific 选项
[mysqld]
[mysqld_safe]
[mysqld_multi]
[mysql]
[mysqldump]
[server]
[client]
格式:parameter = value
说明:_和- 相同
1,ON,TRUE意义相同, 0,OFF,FALSE意义相同
设置数据库管理员root口令
禁止root远程登录
删除anonymous用户帐号
删除test数据库
socket地址
服务器监听的两种socket地址:
ip socket: 监听在tcp的3306端口,支持远程通信 ,侦听3306/tcp端口可以在绑定有一个或全部接口IP上
unix sock: 监听在sock文件上,仅支持本机通信, 如:/var/lib/mysql/mysql.sock)
说明:host为localhost 时自动使用unix sock
只侦听本地客户端, 所有客户端和服务器的交互都通过一个socket文件实现,socket的配置存放在/var/lib/mysql/mysql.sock) 可在/etc/my.cnf修改
vim /etc/my.cnf
[mysqld]
skip-networking=1
服务端命令
服务端命令需要使用;结尾
SELECT VERSION();
用户账户
mysql用户账号由两部分组成:
USERNAME@HOST‘
说明:
HOST限制此用户可通过哪些远程主机连接mysql服务器
支持使用通配符:
% 匹配任意长度的任意字符
172.16.0.0/255.255.0.0 或 172.16.%.%
_ 匹配任意单个字符
程序包管理器安装
二进制格式的程序包安装
二进制程序包安装固定了mysql的路径为/usr/local;固需要提前创建好目录
1、安装相关包
yum -y install libaio numactl-libs
2、创建mysql用户和组
3、准备下载好的程序文件
安装程序包需要放在/usr/local下
#解压程序包
tar -xf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
#建立mysql的文件夹软链接,便于升级等变更操作
ln -s mysql-5.7.31-linux-glibc2.12-x86_64 mysql
chown -R root.root mysql/
4、准备环境变量
#执行命令能够查找到mysql相关命令
echo PATH=/usr/local/mysql/bin:$PATH > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh
5、准备配置文件
cp /etc/my.cnf,.bak
vim /etc/my.cnf
[mysqld]
datadir=/data/mysql #数据路径,需要提前创建好
socket=/data/mysql/mysql.sock
skip_name_resolve=1
log-error=/data/mysql/mysql.log 因使用mysql账户执行,写的log日志和pid需要mysql用户有权限的目录,否则导致无法启动
pid-file=/data/mysql/mysql.pid
[mysqld_safe]
log-error=/data/mysql/log/mysql.log #错误日志路径
pid-file=/var/run/mysql/mysql.pid
#建好数据目录,并赋予mysql权限
[14:51:47root@lgw-linux-07data]#mkdir mysql
[14:51:53root@lgw-linux-07data]#cd mysql
[14:51:57root@lgw-linux-07mysql]#ll
total 0
[14:51:58root@lgw-linux-07mysql]#cd ..
[14:52:20root@lgw-linux-07data]#chown mysql.mysql mysql
[14:52:32root@lgw-linux-07data]#
bind-address:指定MySQL服务器监听的IP地址。默认值为0.0.0.0,表示监听所有的IP地址。如果只想监听指定的IP地址,可以将其设置为该IP地址。
port:指定MySQL服务器监听的端口号。默认值为3306。
datadir:指定MySQL服务器的数据目录。
socket:指定MySQL服务器的套接字文件路径。默认值为/var/lib/mysql/mysql.sock。
pid_file:是MySQL配置文件中的一个参数,用于指定MySQL服务器的进程ID文件路径
max_connections:指定MySQL服务器允许的最大连接数。默认值为151。如果需要支持更多的连接,可以将其设置为更大的值。
character_set_server:指定MySQL服务器的字符集。默认值为utf8mb4。
collation-server:指定MySQL服务器的排序规则。默认值为utf8mb4_general_ci。
sql_mode:指定MySQL服务器的SQL模式。SQL模式控制MySQL如何处理不合法或警告的数据。可以设置为多个值,用逗号分隔。例如:sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES。
log_error:指定MySQL服务器的错误日志文件路径。默认值为/var/log/mysql/error.log。
slow_query_log:指定是否启用MySQL服务器的慢查询日志。默认值为OFF。如果想要记录慢查询,可以将其设置为ON,并指定慢查询日志文件的路径和阈值。例如:slow_query_log=ON,slow_query_log_file=/var/log/mysql/slow-query.log,long_query_time=2。
innodb_buffer_pool_size:指定InnoDB存储引擎使用的缓冲池的大小。缓冲池是MySQL服务器用来缓存数据页的内存区域。默认值为128MB。可以根据服务器的内存大小来调整该参数的值。
innodb_log_file_size:指定InnoDB存储引擎的事务日志文件的大小。默认值为48MB。可以根据服务器的负载和性能要求来调整该参数的值。
skip_name_resolve:禁用MySQL服务器的DNS反解析功能,可以提高查询性能。默认值为OFF。
query_cache_size:指定MySQL服务器的查询缓存大小。默认值为0,表示禁用查询缓存。可以根据查询频率和结果集大小来调整该参数的值。
tmp_table_size:指定MySQL服务器使用的临时表的最大大小。默认值为16MB。可以根据服务器内存大小和负载来调整该参数的值。
join_buffer_size:指定MySQL服务器使用的连接缓存的大小。连接缓存用于存储连接表的行。默认值为256KB。可以根据表大小和负载来调整该参数的值。
thread_cache_size:指定MySQL服务器用于缓存线程的数量。默认值为8。可以根据服务器负载和连接频率来调整该参数的值。
max_allowed_packet:指定MySQL服务器允许的最大数据包大小。默认值为4MB。可以根据应用程序的需要来调整该参数的值。
key_buffer_size:指定MySQL服务器用于索引缓存的大小。索引缓存用于存储索引数据。默认值为128MB。可以根据表大小和查询频率来调整该参数的值。
table_open_cache:指定MySQL服务器用于缓存打开表的数量。默认值为2000。可以根据应用程序的需要来调整该参数的值。
read_buffer_size:指定MySQL服务器用于读取缓存的大小。读取缓存用于存储数据块。默认值为128KB。可以根据表大小和查询频率来调整该参数的值。
6、创建数据库文件
cd /usr/local/mysql/
./scripts/mysql_install_db --datadir=/data/mysql --user=mysql #5.6使用mysql_install_db命令
mysqld --initialize --user=mysql --datadir=/data/mysql #5.7和8.0使用mysqld命令
7、准备启动脚本
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld #加入开机启动,centos8无法使用,但是可以放入/etc/rc.d/rc.local中,需要加权限
service mysqld start
8、测试验证
在配置文件中增加sock
编译安装MySQL(mariadb)
1、安装编译相关依赖包
yum -y install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel
2、准备用户和数据目录
useradd -r -s /sbin/nologin -d /data/mysql mysql
3、准备数据库目录
mkdir /data/mysql
chown mysql.mysql /data/mysql
4、下载并解压缩源码包
tar xvf mariadb-10.2.31.tar.gz
5、源码编译安装mariadb
cmake . \\
-DCMAKE_INSTALL_PREFIX=/app/mysql \\
-DMYSQL_DATADIR=/data/mysql/ \\
-DSYSCONFDIR=/etc/ \\
-DMYSQL_USER=mysql \\
-DWITH_INNOBASE_STORAGE_ENGINE=1 \\
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \\
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \\
-DWITH_PARTITION_STORAGE_ENGINE=1 \\
-DWITHOUT_MROONGA_STORAGE_ENGINE=1 \\
-DWITH_DEBUG=0 \\
-DWITH_READLINE=1 \\
-DWITH_SSL=system \\
-DWITH_ZLIB=system \\
-DWITH_LIBWRAP=0 \\
-DENABLED_LOCAL_INFILE=1 \\
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \\
-DDEFAULT_CHARSET=utf8 \\
-DDEFAULT_COLLATION=utf8_general_ci
make && make install
提示:如果出错,执行rm -f CMakeCache.txt
6、准备环境变量和配置文件
echo PATH=/app/mysql/bin:$PATH > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh
cp /app/mysql/support-files/my-huge.cnf /etc/my.cnf
7、生成数据库文件
cd /app/mysql/
scripts/mysql_install_db --datadir=/data/mysql/ --user=mysq
8、准备启动脚本,并启动服务
cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
service mysqld start
9、安全初始化
mysql_secure_installation
以上是关于2MySQL安装的主要内容,如果未能解决你的问题,请参考以下文章