目录
此方法用于MySQL数据库主从、主主数据同步
Mysql版本5.7
准备两台节点分别安装启动MySQL
一、配置主
1.配置mysql的my.cnf配置文件
vim my.cnf
2.写入
[mysqld]
## 同一局域网内注意要唯一
server-id=1
## 开启二进制日志功能,可以随便取(关键)
log-bin=mysql-bin
## 指定数据库
binlog-do-db=test2
3.重启mysql
service restart mysql
4.查看 skip_networking 的状态,确保处于 OFF 关闭状态
show variables like '%skip_networking%';
4.创建一个专门用来复制的用户
CREATE USER 'repl'@'%' identified by '123456';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;
二、配置从
1.配置从服务器的 my.cnf
[mysqld]
## 同一局域网内注意要唯一
server-id=2
## 开启二进制日志功能,可以随便取(关键)
log-bin=mysql-bin
## 指定数据库
binlog-do-db=test2
2.重启mysql
service restart mysql
3..配置连接到主服务器的相关信息
CHANGE MASTER TO MASTER_HOST='xxxxx', MASTER_PORT=3306,MASTER_USER='repl',MASTER_PASSWORD='123456';
FLUSH PRIVILEGES;
3.启动的从服务器的线程
start slave;
三、主变从,从变主(主主复制)
1.上面从数据库,添加写权限账户
CREATE USER 'repl2'@'%' identified by '123456';
GRANT REPLICATION SLAVE ON *.* TO 'repl2'@'%';
FLUSH PRIVILEGES;
2.进入上面主服务器,配置为从服务来连接主服务信息
CHANGE MASTER TO MASTER_HOST='xxxx', MASTER_PORT=3306,MASTER_USER='repl2',MASTER_PASSWORD='123456';
2.1.启动的从服务器的线程
start slave;
3.重启
service restart mysql
四、测试
测试结果:
当数据从112节点写入,会同步到111节点
当数据从111节点写入,也会同步到112节点
当某一台节点宕机,另一台节点正常使用
当宕机节点恢复正常后,另一台节点的数据会同步到刚才宕机节点上