我在两台服务器上设置了主-主复制。现在,我的问题是,如果我需要让第二个主人只读,我该怎么办?我试着做
mysql> flush tables with read lock;
Query OK, 0 rows affected (0.00 sec)
mysql> set global read_only=ON;
Query OK, 0 rows affected (0.00 sec)
但是因为这在我的第二个主人(奴隶 1)中创建了一个读锁。我在 Master 1 中所做的更改不会传播到 Master 2(只读)。
我应该怎么做 - Master 1 中的更改正在更新到 Master 2,但 Master 2 不应处于写入模式,Master-master(主动/被动)。是否有可能做到这一点?
注册
1 在第一个master上停止slave
如果第二个主服务器变为只读,则第一个主服务器不应再从中进行复制。
2 将 2nd master 的配置更改为只读。
将 read_only=1 添加到 my.cnf 以便下次重启
只读变量
3 解锁第二个主人的桌子
您不需要在第二个主控(现在是从属)上锁定表
4 安全特权
重新定义 2nd master 的权限,按照这里的答案:Should a MySQL replication slave be set to read only?
5 验证 2nd Master 上的从站状态,现在是从站。
如果第二个 master 没有复制,那么您可能必须重新初始化到第一个 master 的复制。
A. 在第一个 master 上,识别当前日志和位置
B. 在第二个 master 现在是 slave 上,重新启动复制
C. 在第二个主人(现在是奴隶)上显示状态