一、相关环境要求及说明
1.系统环境:centos 7.2
2. 数据库:mysql 5.7
本人在两台机器上安装了 mysql服务,分别是: 192.168.0.150 (主)192.168.0.151(从)
二、mysql主数据库配置:
1. 增加同步配置
vim /etc/my.cnf
server-id = 1 log-bin=master-bin log-bin-index=master-bin.index binlog_format = mixed max_binlog_size=500m binlog_cache_size = 4M max_binlog_cache_size=512m binlog-do-db=shop #需要同步的数据库, 如果没有本行表示同步所有的数据库 binlog-ignore-db=mysql,information_schema,performance_schema,sys #被忽略的数据库 secure_file_priv='' #load data导入导出大数据时会用到
修改了配置文件后,需要重启mysql服务
2. 添加同步要用到的用户账号( 进入到mysql下 )
grant all privileges on *.* to 'repl'@'%' identified by 'repl_2020'; flush privileges;
3. 查看binlog日志状况(进入到mysql下)
show master status;

主:通过该命令获得File和Position,他们的值在slave数据库中要用 。
三、mysql从数据库配置
1.在 /etc/my.cnf 增加同步配置
server-id=2 log-bin=mysql-bin #binlog日志文件 log-bin-index=mysql-bin.index #binlog日志索引文件 binlog_format = mixed #binglog的格式 binlog_cache_size = 4M #binlog缓存大小 max_binlog_size=100m # binlog每个日志文件大小 max_binlog_cache_size=512m # 最大binlog缓存大小 relay-log= mysql-relay-bin #中继日志文件 relay-log-index= mysql-relay-bin.index #中继日志索引文件 log-slave-updates=1 # 如果该服务器其也做其他数据库的主服务器,那么设置日志更新 relay_log_recovery=1 #中继器日志恢复 slave-skip-errors=1062,1032 #跳过主键冲突、数据不一致错误 replicate-do-db=shop replicate-ignore-db=mysql,information_schema,performance_schema,sys secure_file_priv=''
保存后,重启mysql服务
2.mysql从数据库下,执行如下同步配置
change master to master_host='192.168.80.150',master_user='repl',master_password='repl_2020',master_log_file='master-bin.000002',master_log_pos=480;
start slave; #启动复制
show slave status\G; #查看主从同步状态

当看到上图 IO 和 SQL线程状态为YES时,说明配置成功
到这里,mysql的主从同步到此结束。有什么问题,欢迎留言