1. 读写分离主服务器宕机,从服务器提升为主
取消read_only- 删除配置文件
MariaDB [(none)]> show variables like 'read_only'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | read_only | OFF | +---------------+-------+ 1 row in set (0.00 sec) MariaDB [(none)]> set global read_only=OFF;
Mysql主主 复制
互为主从
容易产生的问题: 数据不一致,因此慎用
考虑点:
自动增长id
配置一个节点使用奇数id
auto_increment_offset=1 #开始点
auto_increment_increment=2 # 增长幅度
另外一个节点使用偶数id
auto_increment_oddset=2
auto_increment_increment=2
主主复制的配置步骤:
1)各节点使用一个惟一 server_id
2)都启动 binary log 和 relay log
3)创建拥有复制权限的用户账号
4)定义自动增长id字段的数值范围各为奇偶
5)均把对方指定为主节点,并启动复制线程
配置过程
1) 修改配置文件
# 第一台主机 log-bin server_id=1 auto_increment_offset=1 auto_increment_increment=2 innodb_finle_per_table # 第二台主机 log-bin server_id=2 auto_increment_offset=2 auto_increment_increment=2 innodb_finle_per_table
第二部 备份数据,导入数据
# 主服务器备份数据查看 log日志 MariaDB [yyy]> show master logs; +--------------------+-----------+ | Log_name | File_size | +--------------------+-----------+ | mariadb-bin.000001 | 622 | +--------------------+-----------+ [root@mysql-master ~]# mysqldump -A -F --single-transaction --master-data=1 > /root/all.sql MariaDB [(none)]> show master logs; +--------------------+-----------+ | Log_name | File_size | +--------------------+-----------+ | mariadb-bin.000001 | 667 | | mariadb-bin.000002 | 245 | +--------------------+-----------+ # 第二台主服务器 导入数据 [root@mysql-node1 ~]# mysql < all.sql
第三步 两边同时创建同步账号
grant replication slave on *.* to lisi@'172.16.0.%' identified by '123456';
第四部, 注意log节点
MariaDB [(none)]> CHANGE MASTER TO MASTER_HOST='172.16.0.41',MASTER_USER='lisi',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mariadb-bin.000001', MASTER_LOG_POS=515756; Query OK, 0 rows affected (0.06 sec) MariaDB [(none)]> start slave; Query OK, 0 rows affected (0.00 sec)