MYSQL主主复制

1、两台机器上都建立用户,并赋予复制权限

GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.*  TO mysql_backup@'%' IDENTIFIED BY '123456';

如果两个mysql版本不一样 在高版本配置中添加 binlog_checksum=none #不检测日志文件格式


修改配置文件

MASTER1:

[mysqld]

# for repl

server-id = 1

log-bin = mysql-bin

auto-increment-increment= 2 # 应设为整个结构中服务器的总数

auto-increment-offset = 1  # 设定数据库中自动增长的起点,避免两台服务器数据同步时出现主键冲突

MASTER2:

[mysqld]

# for repl

server-id = 2

log-bin = mysql-bin

auto-increment-increment= 2

auto-increment-offset = 2

配置主库

show master status  可以查询 master_log_file  master_log_pos

   master1上指定master2为主:、

stop slave   停止slave

        连接连另一个mysql

                CHANGE MASTER TO master_host = '192.168.1.201',

                master_user = 'mysql_backup',

                master_password = '123456',

                master_log_file = 'mysql-bin.000001',

                master_log_pos = 106;

               master_prot='另一个mysql的端口号';

         start slave 开启slave 

   master2上指定master1为主:

stop slave   停止slave

        连接连另一个mysql

              CHANGE MASTER TO master_host = '192.168.1.200',

               master_user = 'mysql_backup',

               master_password = '123456',

               master_log_file = 'mysql-bin.000001',

               master_log_pos = 106;

                master_prot='另一个mysql的端口号';

 start slave 开启slave 

 show slave status   查看连个mysql的slave状态  如果 io线程   sql线程都为yes  即成功

测试主主复制

启动两个服务,在任一mysql上进行操作,在另一mysql上是否进行过同样的操作

 

MySQL的主主复制实际上就是双向的主从复制。


猜你喜欢

转载自blog.csdn.net/qq_41949579/article/details/80453216