MySQL主从复制配置

1.  环境

操作系统:CentOS-7

MySQL:mysql-5.6

一台虚拟机又克隆了两台

192.168.102.31  master

192.168.102.56  slave

192.168.102.36  slave

启动/停止

service  mysqld  start|stop|restart
systemctl  start|stop|restart  mysqld

本机的话,直接mysql就可以进去了

2.  主数据库配置

第1步:编辑/etc/my.cnf文件,在[mysqld]下增加如下两行设置:

[mysqld]
server-id=1                 #必须,其他可不写,有默认 
log_bin=mysql-bin             
#binlog-do-db=kevin         #需要同步的数据库。如果是多个同步库,就以此格式另写几行即可。如果不指明对某个具体库同步,就去掉此行,表示同步所有库(除了ignore忽略的库)        
binlog-ignore-db = mysql,information_schema
sync_binlog = 1     
binlog_checksum = none 
binlog_format = mixed

第2步:创建用于数据同步的账户

CREATE USER 'repl'@'192.168.102.%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.102.%';
FLUSH PRIVILEGES;

第3步:查看master状态

show master status;

3.  从数据库配置

第1步:编辑/etc/my.cnf文件,设置server-id

[mysqld]
server-id=2               #必须
log_bin=mysql-bin  
#replicate-do-db=kevin    #需要同步的数据库名。如果不指明同步哪些库,就去掉这行,表示所有库的同步(除了ignore忽略的库)。 
replicate-ignore-db=mysql 
slave-skip-errors = all

第2步:执行同步语句,并启动slave

change master to master_host='192.168.102.31', master_user='repl', master_password='123456', master_log_file='mysql-bin.000001', master_log_pos=514;

第3步:查看slave状态

show slave status;

另外一台从数据库也是这样设置

4.  验证是否同步成功

在主数据上操作,从数据库中查看

5.  设置只读账户

mysql> create user 'pig'@'%' identified by '123456';
mysql> grant select on test.* to 'pig'@'%';
mysql> flush privileges;

6.  start slave 报错 1872 - Slave failed to initialize relay log info structure from the reposito

     my.cnf 未指定 relay_log,mysql 默认产生的 relay_log名 被 server 上的另一个mysql slave 占用
    解决办法:
    (1)reset slave all  #清空从库主从信息 
    (2)指定 relay_log:在 my.cnf 中添加 relay_log=/db/mysql56/logs/relay_98_3326

7.  参考

https://dev.mysql.com/doc/refman/5.7/en/replication-options-slave.html

http://www.cnblogs.com/gl-developer/p/6170423.html

https://www.cnblogs.com/alvin_xp/p/4162249.html

https://www.cnblogs.com/sos-blue/p/6852945.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值