如何在Centos7在线安装部署mysql5.7,点击查看教程
主库配置
1.修改/etc/my.cnf文件配置
//编辑文件
vim /etc/my.cnf配置
2.在[mysqld]下方添加以下配置
[mysqld]
#服务器id (主从必须不一样)
server-id=10001
#打开日志(主库需要打开),这个mysql_log-bin名称可自定义、可加路径
log-bin=mysql-log-bin
#从库可以同步的库
binlog-do-db=table1
#从库不可以同步的库(多个写多行)
binlog-ignore-db=mysql
binlog-ignore-db=table2
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=sys
#自动清理 30 天前的log文件,可根据需要修改
expire_logs_days=30
- 配置内容一定要在[mysqld]下方,否则登录数据库时会出现以下错误
3.保存并退出
//保存并退出
:wq
4.重启mysql
//重启
systemctl restart mysqld.service
//查看状态
systemctl status mysqld.service
5.查看log_bin是否启动成功
//登录mysql
mysql -u root -p
//查看log_bin信息
show variables like '%log_bin%';
如下图,则启动成功(可以看到相关log_bin文件路径信息)
6.创建备份账户
//进入mysql库
use mysql;
//创建用户backup
grant replication slave on *.* to 'backup'@'%' identified by '123456';
//刷新缓存
FLUSH PRIVILEGES;
7.查看主库上日志名、File、Position 信息
show master status\G #
如下图
- 记录File、Position信息,后面从库配置时需要使用
从库配置
1.修改/etc/my.cnf文件配置
//编辑文件
vim /etc/my.cnf配置
2.在[mysqld]下方添加以下配置
[mysqld]
#服务器id (必须与主库不一样)
server-id=10002
master_info_repository=TABLE
relay_log_info_repository=TABLE
3.保存并退出
:wq
4.重启mysql
//重启
systemctl restart mysqld.service
//查看状态
systemctl status mysqld.service
5.配置同步主库相关参数
//登录
mysql -u root -p
//停止同步
mysql> stop slave;
mysql> change master to
-> master_host='123.321.***.99',
-> master_user='backup',
-> master_password='123456',
-> master_log_file='mysql-log-bin.000001',
-> master_log_pos=154;
//启动同步
start slave;
//刷新缓存
FLUSH PRIVILEGES;
6.查看同步状态
mysql> show slave status \G
如下图
Slave_IO_Running、 Slave_SQL_Running两个参数值都为 Yes时,说明主从库配置成功。
接下可以在主库中建表、插入、更新记录试验是否同步到从库中。
从库常见异常
- Slave_SQL_Running值为No
解决方案:
重新查看主库File、Position信息,再次在从库中配置下同步主库参数就可以了。
//登录
mysql -u root -p
//停止同步
mysql> stop slave;
mysql> change master to
-> master_host='123.321.***.99',
-> master_user='backup',
-> master_password='123456',
-> master_log_file='mysql-log-bin.000001',
-> master_log_pos=154;
//启动同步
start slave;
//刷新缓存
FLUSH PRIVILEGES;