mysql 双主复制搭建

基于上一篇主备搭建进行

 

1.在原来两台服务器的数据库配置文件上分别如下加入配置

  原来的master加入:

auto_increment_increment=2                      #步进值auto_imcrement 。一般有n台主mysql就填n
auto_increment_offset=1                             #起始值,一般填写第n台主机mysql.此时为第一台主  mysql

  原来的slave加入:

auto_increment_increment=2
auto_increment_offset=2

  重启两台服务器的数据库

    service mysqld restart 

 

2.原来的从库--》配置同步账号

  1.    创建数据库复制用户:mysql>CREATE USER 'repl'@'172.16.127.49' IDENTIFIED BY '123456';
  2.    授权:mysql>grant replication slave on *.* to 'repl'@'172.16.127.49' ;

3.原来的从库--》查询当前的二进制日志名和偏移量值,记录下file跟position的值,待会从库要用

      1.   mysql>show master status \G

4.原来的主库--》对数据库服务器做相应设置,指定复制使用的用户,主数据库服务器的IP、端口以及开始执行复制的日志文件和位置等
      1.  CHANGE MASTER TO MASTER_HOST='172.16.127.83',MASTER_USER='repl',MASTER_PASSWORD='uw7!23!Qw2',MASTER_LOG_FILE='mysql-bin.000007',MASTER_LOG_POS=1251;

5. .原来的主库--》启动slave线程

      1.  mysql>start slave;

 

6.  主库跟从库分别检查状态  

    1. 检查master的:mysql>show processlist\G      结果:看到上面的Command: Binlog Dump说明配置成功!

    2.检查slave的:mysql>show slave status \G       结果:提示:Slave_IO_Running和Slave_SQL_Running两个值为YES基本上成功了

 

mysql主主搭建无非就是多了第一步的参数,将主从搭建反过来再搭建一遍

注意:mysql8版本可以开启基于GTID主从复制,据说可以提升性能

   步骤如下:

      1.两台配置文件my.cn加入如下配置 :

[mysqld]
server-id=2
gtid-mode=on
enforce-gtid-consistency=on
log-slave-updates=on 

      2.重启mysql服务:service mysqld restart

      3.两台服务器登录mysql分别执行:

          1.stop slave;

          2.change master to master_host='172.16.127.83',master_port=3306,master_user='repl',master_password='123456',master_auto_position=1,get_master_public_key=1;

          3.start slave;

          4.show slave status\G; 检查状态:提示:Slave_IO_Running和Slave_SQL_Running两个值为YES基本上成功了

          5.show processlist\G;  发现已经有binlog dump GTID 的信息则配置成功

 

 

    

posted @ 2020-10-13 12:09  海代码  阅读(305)  评论(0编辑  收藏  举报