MySQL之主从切换-阿里云开发者社区

开发者社区> 数据库> 正文

MySQL之主从切换

简介:

   在一主多从的环境中,如主库为M,从库为S1、S2,当主库M出现故障时,把S1设为新的主库,并且修改从库S2的配置,使其指向新的主库S1。此外还要通知应用修改主数据库的IP地址,如果出现故障的主库M修复的话可以设置为新的从库。主从切换的详细步骤如下:

1 首先要保证所有从库已经执行了relay log中的全部更新,用以下语句查看:

mysql> show processlist\G

直到看到下面的语句,表示全部更新执行完毕。

Has read all relaylogwaiting for the slave I/O thread to update it

2 在所有从库上执行下面的语句:

mysql> stop slave io_thread;

3 在从数据库S1上,停止从服务,然后把S1设置成主数据库:

mysql> stop slave;

mysql> reset master;

4 在S2上(如果有多台,则在所有从服务器上,此时S1为主服务器),停止从服务,然后重新设置S1为主数据库,S1的IP为192.168.1.101,再执行start slave启动复制:

mysql> stop slave;

mysql> change master to master_host = '192.168.1.101';

mysql> start slave;

5 修改客户端应用指向S1服务器:

6 删除S1服务器(新的主库服务器)上的master.info和relay-log.info文件,否则一旦重启还会按照从库启动。

7 最后,如果M服务器恢复,则可以按照S2的方法设置为S1的从库。

备注:上面的步骤默认S1是启用了log-bin选项的,其次,S1上没有开启log-slave-updates参数。



本文转自 zengwj1949 51CTO博客,原文链接:http://blog.51cto.com/zengwj1949/1923462

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章