Mysql 主从配置

1、测试环境(开启防火墙)

Master:CentOS 7
              192.168.13.129
               Mysql 5.7.23

Slave:CentOS 7
             192.168.13.130
             Mysql 5.7.23

#防火墙Master开启即可
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

2、Master配置

#新建复制用户(注意权限问题)
CREATE USER 'repl'@'192.168.13.%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.13.%';

  编辑my.cnf文件

[mysqld]
log-bin=mysql-bin
server-id=1
binlog-do-db=Demo #要同步的mstest数据库,要同步多个数据库,就多加几个replicate-db-db=数据库名 
binlog-ignore-db=mysql #要忽略的数据库

  重启mysql服务并查看Master状态信息

service mysqld restart  #重启服务
show master status\G    #进入mysql查看Master状态信息

3、Slave配置

  编辑my.cnf文件

[mysqld]
server-id=2
replicate-do-db=Demo
replicate-ignore-db = mysql #忽略的库

  编辑连接信息(登录到Mysql)

stop slave;
CHANGE MASTER TO
-> MASTER_HOST='192.168.13.129',
-> MASTER_USER='repl',
-> MASTER_PASSWORD='repl123',
-> MASTER_LOG_FILE='mysql-bin.000001',
-> MASTER_LOG_POS=154;
start slave;

show slave status\G   /*查看slave状态,成功即可测试/

4、容易出现的错误

报错;Got fatal error 1236 from master when reading data from binary log

解决方法:(登录到Mysql)
Slave: stop slave;
Master: flush logs
Master: show master status;
Slave: CHANGE MASTER TO MASTER_LOG_FILE=’log-bin.00000X’, MASTER_LOG_POS=154;
Slave: start slave;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容