在master出现故障,需要一个热备服务器及时切换的时候,原先master下面的slave也需要及时的进行切换到热备的那台新master服务器上
在master出现故障,需要一个热备服务器及时切换的时候,原先master下面的slave也需要及时的进行切换到热备的那台新master服务器上,其切换的基本思路为:
slave和备份服务器在完全相同的 位置停止运行,然后只要把slave重定向到备份服务器。因为备份服务器在你停止运行后的位置没有任何更改,你只需检查binlog的位置即可。然后,,停止slave和备份服务器不一定保证是同步,需要手工操作;使用如下语句:
show slave status\G;
在热备服务器上和slave上进行查询;log的文件和位置;
如果备份服务器中的数据是超前的,需要手工在slave上进行追加操作;如:
start slave until master_log_file='master-bin.00000x',master_log_pos=xxxxxxxx;
select master_pos_wait('master-bin.00000xxx',xxxxxxxx);
以上在slave上执行即可;
以上操作执行完后,无问题,在热备服务器上进行查询master位置和文件;
show master status\G;
然后再slave进行change master to master_host='',master_port=,master_user=''............等等;然后start slave即可;完成切换操作;