Mysql 如何进行主从库切换(计划内)
![749380fcb7673f9facefb6c2e3a21800.png](https://i-blog.csdnimg.cn/blog_migrate/6d538ffb7b9837854d83a5ca29596704.jpeg)
计划内的主从库进行切换比较简单,步骤如下
1. 停止向老主库写入
2. 让备库追赶上主库的数据(可选的,会简化下面的步骤)
3. 将一台从库提升为主库
4. 将备库和写操作指向新的主库,然后开启主从写入
但这其中还隐藏着许多细节,一些场景可能依赖于复制的拓扑结构,例如 主-主结构和主-备结构的配置有所不同
我们更深入一点,下面是大多数需要的步骤
我们的环境 是简单的主从结构,主库 端口为3306 从库端口为3307 , 用于演示的测试环境在一台机器上搭建(生产上 主从必须要两个服务器)
1. 停止当前主库所有的写入操作,如果可以最好将客户端程序关闭(除了复制连接)
2. 通过flush tables with read lock 在主库上停止所有活跃的写入,这一步是可选的,也可以在主库上设置 read_only 选项(如果从库之前是设置的 read,那么这里可以将主库直接设置为read_only),从这一时刻开始,将禁止向被替换的主库做任何写入操作