首页 > 代码库 > MySQL之主从切换

MySQL之主从切换

    在一主多从的环境中,如主库为M,从库为S1、S2,当主库出现故障时,主从切换的详细步骤如下:

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为主数据库,再执行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参数。

本文出自 “一万年太久,只争朝夕” 博客,请务必保留此出处http://zengwj1949.blog.51cto.com/10747365/1923462

MySQL之主从切换