一、相关环境要求及说明
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的主从同步到此结束。有什么问题,欢迎留言