我有一个MySQL主/从配置
-------- --------
| master | -> | slave1 |
-------- --------
我想要杀死当前的主设备,将slave1转换为新主设备并让另一个设备指向slave1
-------- ------------ --------
| master | | new master | -> | slave2 |
-------- ------------ --------
KILLED
没有数据库停机时间,最好的方法是什么? 我正在使用MariaDB 10.0.17
答案 0 :(得分:0)
这很容易,因为MySQL服务器可以同时是主服务器和从服务器。
我认为这个过程会像:
log_slave_updates
(请参阅http://dev.mysql.com/doc/refman/5.1/en/replication-options-slave.html#option_mysqld_log-slave-updates)。此步骤很重要,否则slave2将不会在转换期间从当前主服务器复制数据。实际上还没有开始复制。所有客户端都应该有一个活动服务器,以便在流程的每个阶段进行读/写。无需停机。
希望这是有道理的。
答案 1 :(得分:0)
嗯,这比你想象的要容易。您可以构建完整的复制链。
只需设置从slave1到slave2的复制,杀死当前的主人,你就完成了。
答案 2 :(得分:0)
在SLAVE上运行以下命令
STOP SLAVE IO_THREAD并等到“STOP SLAVE IO_THREAD”显示所有读取的二进制文件。
STOP SLAVE
RESET MASTER