MySQL 5.7
- 创建用户
1 | groupadd mysql |
- 下载二进制包
1 | wget http://devops-files.oss-cn-qingdao.aliyuncs.com/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz |
- 配置文件
my.cnf
1 | [client] |
- 创建数据目录
1 | mkdir -p /data/mysql |
- 初始化 & 启动
1 | /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --user=mysql --initialize |
- 开启 3306 端口
1 | firewall-cmd --zone=public --add-port=3306/tcp --permanent |
- 设置开机自启动
1 | cd /usr/local/mysql/bin |
- 设置用户
1 | $ cat /data/mysql/error.log | grep password |
MySQL 5.6
- 初始化
1 | /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --defaults-file=/etc/my.cnf --user=mysql |
- 启动
1 | $ /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql 2>&1 > /dev/null & |
- 设置用户
1 | mysql |
配置主从
- 创建用户
1 | GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'repl'@'x.x.x.%' IDENTIFIED BY 'xx'; |
- 修改从库
my.cnf
文件
1 | server_id = 3306101 |
- 传输数据至从库
- 配置复制
1 | # 主库查看日志和位置 |
启停
停止
- 使用
init.d
,mysqld
脚本来自于/usr/local/mysql/support-files/mysql.server
1 | $ /etc/init.d/mysqld stop |
- 使用
mysqladmin
1 | $ mysqladmin -u'xx' -p'xx' shutdown |
- 使用
service
1 | $ systemctl stop mysqld |
启动
- 使用
init.d
1 | $ /etc/init.d/mysqld start |
- 使用
mysqld_safe
1 | $ mysqld_safe --defaults-file=/etc/my.cnf --user=mysql & |
- 使用
service
1 | $ systemctl start mysqld |
工具命令
mysql:
MySQL
客户端访问管理工具。mysqld:这个可执行文件就代表着
MySQL
服务器程序,运行这个可执行文件就可以直接启动一个服务器进程。mysqld 启动配置文件优先级:
1
/etc/my.cnf -> /etc/mysql/my.cnf -> /usr/etc/my.cnf -> ~/.my.cnf
mysqld_safe:是一个启动脚本,它会间接的调用
mysqld
,而且还顺便启动了另外一个监控进程,这个监控进程在服务器进程挂了的时候,可以帮助重启它。使用mysqld_safe
启动mysqld
时,mysqld_safe
可以使用参数选项,此时可以使用其他配置文件,相当于mysqld_safe
把参数传递给mysqld
。mysql.server:也是一个启动脚本,主要作用就是为了方便启动和关闭
mysqld
服务,只能使用默认的/etc/my.cnf
配置文件,mysql.server
调用mysqld_safe
,然后mysql_safe
调用了mysqld
。
FAQ
现象:使用 mysqld_safe
启动失败,启动错误日志未记录 error.log
,报错如下:
1 | Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql/data/COSMOPlat-WMS-App01.pid) |
原因:经检查发现,数据库安装时是以 haieradmin
用户启动,默认使用 mysql
用户启动,启动失败。
解决:使用 haieradmin
用户启动成功。
安装脚本
mysql_install.sh
1 | #!/bin/bash |