MySQL 双主同步

文章目录 (?) [+]

    master node 1

    1.主要配置

    [mysqld]
    server-id=1
    log-bin=mysql-bin
    binlog_format=mixed
    expire_logs_days=14
    relay_log=mysql-relay-bin
    # 忽略不需要同步的数据表
    replicate_wild_ignore_table=mysql.*
    replicate_wild_ignore_table=information_schema.*
    replicate_wild_ignore_table=performance_schema.*
    # 设置自增的增量
    auto_increment_increment=2
    # 设置自增起始值,n 台主库时自增值为 n
    auto_increment_offset=1
    # 此项为 ON 时主库的 binlog 会同步到从库的 binlog
    # 否则只能在从库的 relay-binlog 查看主库的变动
    log_slave_updates=on

    2.创建授权账户,用于 master2 访问 master1

    GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY '123456';
    FLUSH PRIVILEGES;

    3.记录 master1 的 File 和 Position 用于 master2

    SHOW MASTER STATUS\G;

    4.设置同步

    CHANGE MASTER TO MASTER_HOST = '10.0.0.2',
        MASTER_PORT = 3306,
        MASTER_USER = 'slave',
        MASTER_PASSWORD = '123456',
        MASTER_LOG_FILE ='mysql-bin.000021',
        MASTER_LOG_POS = 6352;
    
    # 启动从机复制
    START SLAVE;
    
    # 查看从机 Slave_IO_Running 和 Slave_SQL_Running 状态
    SHOW SLAVE STATUS\G;


    master node 2

    如果同步前 master1 已有数据,则需要将 master1 数据导入 master2 后再启动同步,在同步前双方数据应保持一致。

    1.主要配置

    [mysqld]
    server-id=2
    log-bin=mysql-bin
    binlog_format=mixed
    expire_logs_days=14
    relay_log=mysql-relay-bin
    replicate_wild_ignore_table=mysql.*
    replicate_wild_ignore_table=information_schema.*
    replicate_wild_ignore_table=performance_schema.*
    auto_increment_increment=2
    auto_increment_offset=2
    log_slave_updates=on

    2.创建授权账户,用于 master1 访问 master2

    GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY '123456';
    FLUSH PRIVILEGES;

    3.记录 master2 的 File 和 Position 用于 master1

    SHOW MASTER STATUS\G;

    4.设置同步

    CHANGE MASTER TO MASTER_HOST = '10.0.0.3',
        MASTER_PORT = 3306,
        MASTER_USER = 'slave',
        MASTER_PASSWORD = '123456',
        MASTER_LOG_FILE ='mysql-bin.000001',
        MASTER_LOG_POS = 326;
    
    # 启动从机复制
    START SLAVE;
    
    # 查看从机 Slave_IO_Running 和 Slave_SQL_Running 状态
    SHOW SLAVE STATUS\G;


    相关链接:

    mysql 主从复制:https://lanseyujie.com/post/mysql-master-slave-replication.html


    本文标题:MySQL 双主同步
    本文链接:https://lanseyujie.com/post/mysql-master-master-replication.html
    版权声明:本文使用「署名 4.0 国际」创作共享协议,转载或使用请遵守署名协议。
    点赞 0 分享 0