mysql双主架构双向同步实现方法

1.先在两边创建同一名称的库

2.给要同步的库(主库)赋予复制的权限

使用root用户执行: 
grant replication slave on 库名.* to '用户名'@'主机' identififed by '密码'
两边库都要执行

3.配置数据库配置文件,打开binlog

打开my.ini(my.cnf)文件,在[mysqld]下面加上
server_id=1                             //此库的id,和另一个要同步的库不能一样,并且只能设置数字【主库需要的配置】
log-bin=/home/xzw/mysql/log/mysql-bin   //binlog的名称和位置(可不写绝对路径,日志默认存放在mysql安装目录i的data目录下)【主库需要的配置】
replicate-do-db=库名                    //要从主库同步的database名称【从库需要的配置】
#replicate-ignore-table=库名.表名       //设置哪些表不用同步过来,有多张表就写多行【从库需要的配置】
#log_slave_updates=1                    //设置同步过来的数据要不要记录到binlog,为1则记录,默认不记录【从库需要的配置】

4.在主库执行show master status,记录下file和positions值

5.在从库上开启复制功能

先执行stop slave,关闭复制功能
执行命令:
    change master to
    master_host='主库IP',
    master_user='主库用户名',
    master_password='主库密码',
    master_log_file='上一步记录的file值',
    master_log_pos='上一步记录的posistion值'
因为两个库互为主从,所以在两边都要执行

6.查看是否成功

在从库上执行start slave
再执行show slave status
如果Slave_IO_Running和Slave_SQL_Running属性值都为yes,则开启复制成功
两边都执行同样的步骤
然后在一个库上执行增删改语,看另一边会不会同步

猜你喜欢

转载自blog.csdn.net/xuziwen127/article/details/106046985