美文网首页mysql
主从复制(双主复制)

主从复制(双主复制)

作者: 辉耀辉耀 | 来源:发表于2017-05-08 15:26 被阅读0次

    传送门:CentOS 6.5 源码安装MySQL-5.6.35
    http://www.jianshu.com/p/f597d1e154f6


    MySQL双主复制,即互为Master-Slave(只有一个Master提供写操作)

    双主复制可以实现数据库服务器的热备,结合Keepalived实现动态切换,实现了双主对外的统一接口以及自动检查、失败切换机制。联合使用,可以实现MySQL数据库的高可用方案。(在本文仅做双主复制的部署)

    环境:CentOS 6.5
    MASTER1:192.168.81.11
    MASTER2:192.168.81.12

    分别修改Master1和Master2 的配置文件

    [root@localhost ~]# vim /usr/local/mysql/my.cnf
    

    MASTER1:

    [mysqld]
    log-bin=mysql-bin                   #打开二进制日志
    server-id=1                         #服务器id(不能相同)
    expire-logs-days=100                #自动清理100天前的日志
    replicate-do-db=test
    binlog-ignore-db=mysql
    binlog-ignore-db=information_schema
    auto-increment-increment=2
    auto-increment-offset=1
    

    MASTER2:

    [mysqld]
    log-bin=mysql-bin
    server-id=2
    expire-logs-days=100
    replicate-do-db=test
    binlog-ignore-db=mysql
    binlog-ignore-db=information_schema
    auto-increment-increment=2
    auto-increment-offset=2
    character-set-server=utf8
    

    重新启动数据库

    [root@localhost ~]# service mysql restart
    Shutting down MySQL.. SUCCESS! 
    Starting MySQL.. SUCCESS!
    

    进入数据库配置双主同步

    [root@localhost ~]# mysql -u root -p
    Enter password: 
    

    MASTER1:

    mysql> grant replication slave on *.* to slave@'192.168.81.12' identified by 'ibelieveicanfly';
    Query OK, 0 rows affected (0.05 sec)
    
    mysql> show master status;
    +------------------+----------+--------------+--------------------------+-------------------+
    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB         | Executed_Gtid_Set |
    +------------------+----------+--------------+--------------------------+-------------------+
    | mysql-bin.000001 |      336 |              | mysql,information_schema |                   |
    +------------------+----------+--------------+--------------------------+-------------------+
    1 row in set (0.00 sec)
    

    MASTER2:

    mysql> grant replication slave on *.* to slave@'192.168.81.11' identified by 'ibelieveicanfly';
    Query OK, 0 rows affected (0.05 sec)
    
    mysql> show master status;
    +------------------+----------+--------------+--------------------------+-------------------+
    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB         | Executed_Gtid_Set |
    +------------------+----------+--------------+--------------------------+-------------------+
    | mysql-bin.000001 |      336 |              | mysql,information_schema |                   |
    +------------------+----------+--------------+--------------------------+-------------------+
    1 row in set (0.00 sec)
    

    MASTER1:

    mysql> stop slave;
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    
    mysql> change master to
        -> master_host='192.168.81.12',
        -> master_user='slave',
        -> master_password='ibelieveicanfly',
        -> master_log_file='mysql-bin.000001',
        -> master_log_pos=336;
    Query OK, 0 rows affected, 2 warnings (0.06 sec)
    
    mysql> start slave;
    Query OK, 0 rows affected (0.00 sec)
    

    MASTER2:

    mysql> stop slave;
    Query OK, 0 rows affected, 1 warning (0.03 sec)
    
    mysql> change master to
        -> master_host='192.168.81.11',
        -> master_user='slave',
        -> master_password='ibelieveicanfly',
        -> master_log_file='mysql-bin.000001',
        -> master_log_pos=336;
    Query OK, 0 rows affected, 2 warnings (0.07 sec)
    
    mysql> start slave;
    Query OK, 0 rows affected (0.05 sec)
    

    查看是否同步成功(出现双yes即为成功)

    mysql> show slave status\G;
            Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
    

    相关文章

      网友评论

        本文标题:主从复制(双主复制)

        本文链接:https://www.haomeiwen.com/subject/jjnmtxtx.html