Mariadb 双主
说明:双主即指两种不同业务分别在两台服务器上互为主备状态,这里需要注意的是主-主同步配置,其实就是两台MariaDB数据库互为主从,所以要在两台主机间作两次相同的操作
节点类型 | IP | PORT |
---|---|---|
主节点、从节点 | 192.168.5.81 | 3306 |
主节点、从节点 | 192.168.5.82 | 3306 |
前提:参照上篇文章配置好的81主节点,82从节点的情况下
81、82修改配置文件
修改配置
vi /etc/my.cnf.d/server.cnf
81配置内容如下:
[mysqld]
# 关闭区分表名的大小写
lower_case_table_names=1
# 开启bin-log
log-bin=mysql-bin
# server-id
server-id=2
#为防止双主下同时写产生主键冲突,81只产生奇数id
#字段变化增量值
auto-increment-increment=2
#初始字段ID为1
auto-increment-offset=1
#忽略写入binlog日志的库(可选)
binlog-ignore-db=mysql,information_schema
#将复制事件写入binlog,一台服务器既做主库又做从库此选项必须要开启
log_slave_updates=1
82配置内容如下:
[mysqld]
# 关闭区分表名的大小写
lower_case_table_names=1
# 开启bin-log
log-bin=mysql-bin
# server-id
server-id=2
#为防止双主下同时写产生主键冲突,82只产生偶数id
#字段变化增量值
auto-increment-increment=2
#初始字段ID为2
auto-increment-offset=2
#忽略写入binlog日志的库(可选)
binlog-ignore-db=mysql,information_schema
#将复制事件写入binlog,一台服务器既做主库又做从库此选项必须要开启
log_slave_updates=1
分别重启mariadb服务
systemctl restart mariadb
登录82节点并创建供81节点进行bin-log同步账户
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY 'slave';
82开启同步功能
start slave;
82查看同步状态,获取position和binlog文件名称
show master status;
登录81主节点,设置主从关系
#说明
CHANGE MASTER TO MASTER_HOST='主节点ip',MASTER_USER='主节点提供的用户名',MASTER_PASSWORD='密码',MASTER_LOG_FILE='binlog文件名',MASTER_LOG_POS='Position';
#实际
CHANGE MASTER TO MASTER_HOST='192.168.5.82',MASTER_USER='slave',MASTER_PASSWORD='slave',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=516;
从节点开启复制
stop slave;
reset slave;
start slave;