mariadb-主主

时间:2023-03-09 09:36:42
mariadb-主主

互为主从:两个节点各自都要开启binlog和relay log;

这样可能会产生以下问题:

1、数据不一致;

2、自动增长id;(能不用最好不用)

  定义一个节点使用奇数id

auto_increment_offset=1

auto_increment_increment=2

另一个节点使用偶数id

auto_increment_offset=2

auto_increment_increment=2

配置:

1、server_id必须要使用不同值;

2、均启用binlog和relay log;

3、存在自动增长id的表,为了使得id不相冲突,需要定义其自动增长方式;

服务启动后执行如下两步:

4、都授权有复制权限的用户账号;

5、各把对方指定为主节点;

编辑配置文件:

第一个节点:vim   /etc/my.cnf

mariadb-主主

第二个节点:vim   /etc/my.cnf

mariadb-主主

启动服务:

mariadb-主主

各自创建用户账号

mariadb-主主

mariadb-主主

启动线程:START SLAVE [IO_THREAD | SQL_THREAD];

查看状态:SHOW SLAVE STATUS;

测试

复制时应该注意的问题:

  在从服务器启动read_only,但仅对非SUPER权限的用户有效;

  阻止所有用户:

mysql> FLUSH TABLES WITH READ LOCK;  读锁

2、尽量确保复制时的事务安全

在master节点启用参数:

sync_binlog = ON

如果用到的是InnoDB存储引擎:

innodb_flush_logs_at_trx_commit=ON

innodb_support_xa=ON

3、从服务器意外中止时尽量避免自动启动复制线程

4、从节点:设置参数

sync_master_info=ON    立即同步

sync_relay_log_info=ON