Python切换到新master的脚本

今天看书上有个不错的切换master的脚本,python编写的;可以自动切换到新master上的脚本,拿下来分享下;

def  replicate_to_position(server,pos):
server.sql("START SLAVE UNTIL MASTER_LOT_FILE=%s,MASTER_LOG_POS=%s",(pos.file,po
s.pos))
server.sql("SELECT MASTER_POS_WAIT(%s,%s)",(pos.file,pos.pos))
 
def  switch_to_master(server,standby)
       stop_slave(server)
       stop_slave(standby)
       server_pos = fetch_slave_position(server)
       standby_pos = fetch_slave_position(standby)
       if   server_pos < standby_pos:
           replicate_to_position(server,standby_pos)
       elif server_pos  > standby_pos:
           replicate_to_position(standby,server_pos)
       master_pos = fetch_master_positino(standby)
       change_master(server,standby,master_pos)
       start_slave(standby)
       start_slave(server)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值