linux之mysql57双主模式
1 准备环境 三台机子 master slave1 slave2 主从配置 主从配置看 https://www.jianshu.com/p/0459d25269c2
2 主环境(master)配置
[mysqld]
log_bin=mysql-bin
server-id=2
sync-binlog=1
binlog-ignore-db=information_schema
binlog-ignore-db=mysql
binlog-ignore-db=performation_schema
binlog-ignore-db=sys
relay_log=mysql-relay-bin
log_slave_updates=1
auto_increment_offset=2
auto_increment_increment=2
3 从环境(slave1改为主)配置
[mysqld]
log_bin=mysql-bin
server-id=2
sync-binlog=1
binlog-ignore-db=information_schema
binlog-ignore-db=mysql
binlog-ignore-db=performation_schema
binlog-ignore-db=sys
relay_log=mysql-relay-bin
log_slave_updates=1
auto_increment_offset=2
auto_increment_increment=2
4 其实区别就在于 server-id 这是必需不同的,其次 就是auto_increment_offset 偏移变量 原因很简单 双主的都具有读写功能
5 授权(master 和slave1都要)
mysql -uroot -p
grant replication slave on *.* to 'root'@'%' identified by 'Yumeko213@';
flush privileges;
6 设置关联 注意:
1)互为主从那就需要show master status; 查看各自的 file 和 Position和端口号 知道各自的用户名密码就是上一步授权的
master_log_file对应 file, Position对应 master_log_pos
2)master作为slave1的从库
stop slave;
change master to master_host='192.168.106.129',master_port=3306,master_user='root',master_password='Yumeko213@',master_log_file='mysql-bin.000001',master_log_pos=154;
start slave;
3)slave1作为master 的从库
stop slave;
change master to master_host='192.168.106.128',master_port=3306,master_user='root',master_password='Yumeko213@',master_log_file='mysql-bin.000001',master_log_pos=154;
start slave;
4) 分别 查看 show slave status \G;
如出现问题
stop slave; reset slave; start slave;
根据Last_SQL_Errno 提示解决
5 测试
比如master中创建库和表 create database yumeko; create table yumeko;
比如slave1中创建库和表 create database yumeko1; create table yumeko1;
在各自删除,一切正常我们的双主配置就成功了 惊不惊喜 意不意外 其实就是这么简单!