Centos7下MySQL5.7主从同步配置

数据库 piniu 1354浏览 0评论

一、相关环境要求及说明

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的主从同步到此结束。有什么问题,欢迎留言


发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • * 昵称:
  • * 邮箱: