MySQL实现主主同步
安装两个MySQL
Docker在两个端口(3306,3307)启动两个数据库。
配置MySQL
分别配置数据库的 my.cnf 文件
3306数据库
1 | [mysqld] |
3307数据库
1 | [mysqld] |
重启MySQL
设置MySQL权限
设置权限,初始化数据库时已开启全部权限。
配置同步日志
分别查看数据库的日志节点,并配置同步日志节点。
查看日志节点
1 | # 登录进入MySQL |
3306数据库日志节点
1 | +------------------+----------+--------------+---------------------------------------------+-------------------+ |
3307数据库日志节点
1 | +------------------+----------+--------------+---------------------------------------------+-------------------+ |
设置日志节点
相互设置同步的日志节点。
配置当前数据库日志节点时,所有内容都是另一个数据库的信息。
每次 “flush privileges” 和 “stop slave” 后日志节点的内容会改变,所以,每次执行此操作前必须要查看日志节点 “show master status”。另外,执行此操作时 slave 必须没有启动,否则就先停止 “stop slave”。
3306数据库
1 | mysql> change master to |
3307数据库
1 | mysql> change master to |
启动slave
在两台主机上启动slave服务
mysql> start slave;
测试
查看slave状态,查看数据库的同步变化。
slave状态
mysql> show slave status\G
数据库同步变化
修改3306数据库某数据表数据,3307数据库中对应数据表数据跟随变化。
修改3307数据库某数据表数据,3306数据库中对应数据表数据跟随变化。