• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    MariaDB配置双主复制方案
    POST TIME:2021-10-18 21:37

    本文环境

    Debian 8

    MariaDB 10.1.21

    配置文件 1

    修改服务器 1 上 mysql 配置文件 /etc/mysql/my.cnf

    有些配置默认就存在的,如果你有洁癖,请先搜索,再添加配置项。

    [mysqld]
    server-id        = 1 
    log_bin         = /var/log/mysql/mariadb-bin 
    log_bin_index      = /var/log/mysql/mariadb-bin.index 
    binlog-do-db        = tudou1 #需要同步的数据库,这里同步tudou1和tudou2两个数据库 
    binlog-do-db        = tudou2 
    binlog-ignore-db     = mysql #忽略同步的数据库 
    log_slave_updates               #把从库的写操作记录到binlog中 (缺少之后,双主创建失败) 
    expire_logs_days  = 365         #日志文件过期天数,默认是 0,表示不过期 
    auto_increment_increment= 2       #设定为主服务器的数量,防止auto_increment字段重复 
    auto_increment_offset  = 1       #自增长字段的初始值,在多台master环境下,不会出现自增长ID重复
    

    配置文件 2

    [mysqld]
    [mysqld]
    server-id        = 2 
    log_bin         = /var/log/mysql/mariadb-bin 
    log_bin_index      = /var/log/mysql/mariadb-bin.index 
    binlog-do-db      = tudou1 #需要同步的数据库,这里同步tudou1和tudou2两个数据库 
    binlog-do-db      = tudou2 
    binlog-ignore-db     = mysql #忽略同步的数据库 
    log_slave_updates               #把从库的写操作记录到binlog中 (缺少之后,双主创建失败) 
    expire_logs_days  = 365         #日志文件过期天数,默认是 0,表示不过期 
    auto_increment_increment= 2       #设定为主服务器的数量,防止auto_increment字段重复 
    auto_increment_offset  = 2       #自增长字段的初始值,在多台master环境下,不会出现自增长ID重复
    

    注意:

    log slave updates 表示把从库的写操作记录到binlog中,缺少之后,双主创建失败。双主同步时该项必须有

    binlog-do-db 需要同步的数据库,可写多个

    binlog-ignore-db 表示忽略同步的数据库

    创建同步账户

    // 服务器 1
    
    GRANT REPLICATION SLAVE ON *.* TO 'repuser'@'server-2' IDENTIFIED BY 'repuser'; 
    FLUSH PRIVILEGES;
    
    // 服务器 2
    GRANT REPLICATION SLAVE ON *.* TO 'repuser'@'server-1' IDENTIFIED BY 'repuser'; 
    FLUSH PRIVILEGES;
    
    

    可以顺便在另一台服务器测试能不能登录,如果不能,把 bind-address 那行注释掉即可。

    $ mysql -urepuser -prepuser -hserver-1

    查看 master 状态

    服务器 1 中

    MariaDB [mysql]> show master status; 
    +--------------------+----------+--------------+------------------+
    | File        | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +--------------------+----------+--------------+------------------+
    | mariadb-bin.000514 |   639 | xxxxxxxx   | mysql      |
    +--------------------+----------+--------------+------------------+
    1 row in set (0.00 sec)
    

    服务器 2 中

    MariaDB [mysql]> show master status; 
    +--------------------+----------+--------------+------------------+
    | File        | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +--------------------+----------+--------------+------------------+
    | mariadb-bin.000006 |   1057 | xxxxxxxx   | mysql      |
    +--------------------+----------+--------------+------------------+
    1 row in set (0.00 sec)
    

    设置同步

    // 服务器 2
    
    MariaDB [mysql]> CHANGE MASTER TO MASTER_HOST='server-1',MASTER_PORT=3306,MASTER_USER='repuser',MASTER_PASSWORD='repuser',MASTER_LOG_FILE='mariadb-bin.000514',MASTER_LOG_POS=639;
    
    MariaDB [mysql]> START SLAVE;
    
    // 服务器 1
    
    MariaDB [mysql]> CHANGE MASTER TO MASTER_HOST='server-2',MASTER_PORT=3306,MASTER_USER='repuser',MASTER_PASSWORD='repuser',MASTER_LOG_FILE='mariadb-bin.000006',MASTER_LOG_POS=1057;
    
    MariaDB [mysql]> START SLAVE;
    
    // 完毕之后,分别执行
    
    MariaDB [mysql]> SHOW SLAVE STATUS\G
    
    

    如出现以下两项,则说明配置成功!

    Slave_IO_Running: Yes
          Slave_SQL_Running: Yes
    
    
    

    双主同步测试

    在服务器 1 数据库中创建一个表,看看服务器 2 会不会出现,按照上面教程,如果没问题的话,就是可以同步的。

    您可能感兴趣的文章:
    • centos 7安装mysql5.5和安装 mariadb使用的命令
    • CentOS 7中成功安装MariaDB的方法教程
    • 在Ubuntu系统中安装MariaDB数据库的教程
    • ubuntu14.04LTS安装nginx+mariaDB+php7+YAF的方法
    • Linux下安装MariaDB数据库问题及解决方法(二进制版本的安装)
    • mariadb的主从复制、主主复制、半同步复制配置详解
    • MariaDB(Mysql分支)my.cnf配置文件中文注释版
    • Windows Server 2016 服务器配置指南 之 MariaDB数据库环境搭建方法
    • CentOS 7.0服务器安装配置LAMP服务器(Apache+PHP+MariaDB)
    • Window7安装MariaDB数据库及系统初始化操作分析
    上一篇:mariadb的主从复制、主主复制、半同步复制配置详解
    下一篇:MariaDB性能调优工具mytop的使用详解
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信