MariaDB主从复制设置

环境说明
系统环境:任意linux发行版
两个节点:
主节点master IP地址:192.168.0.1
从节点slave IP地址:192.168.0.2

搭建环境
这一步省略,网上一键安装脚本繁多,主从节点使用相同版本.
个人选择的是MariaDB5.5.56,参数优化请搜索

主节点设置[master node]

1修改配置文件

[mariadb]
server_id=1  #设置唯一的ID
log-bin=master-log  # 开启日志

2 分配一个复制用的账号

GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'192.168.0.%' IDENTIFIED BY 'replication_user_passwd';

3获取目前主节点二进制文件名与位置信息

SHOW MASTER STATUS;

从节点设置[slave node]

1修改配置文件

[mariadb]
server_id=2 #设置唯一的ID
relay-log=relay-log # 开启中继日志

2 启动从节点
在从节点运行下面命令,指定主节点

CHANGE MASTER TO
  MASTER_HOST='192.168.0.1',
  MASTER_USER='replication_user',
  MASTER_PASSWORD='replication_user_passwd',
  MASTER_PORT=3306,
  MASTER_LOG_FILE='mariadb-bin.000096',
  MASTER_LOG_POS=568,
  MASTER_CONNECT_RETRY=10;

然后,启动

  START SLAVE;

从节点提升为主节点[slave to master]
有时,需要维护主节点,可以暂时将从节点改为主节点
直接停止slave即可

  STOP SLAVE;

主主复制设置[master-master]
按照上面的教程反着来一遍即可

主主复制自增ID冲突解决办法
Master1配置文件上添加:
auto_increment_increment=2
auto_increment_offset=1 #(1,3,5,7......序列)
Master2配置文件上添加:
auto_increment_increment=2
auto_increment_offset=0 #(0,2,4,6......序列)

参考资料: https://mariadb.com/kb/en/library/setting-up-replication/

发表评论