Mysql自动处理同步报错

export LANG=zh_CN

./root/.bash_profile
v_dir=/usr/local/Mysql/bin/
v_user=root
v_passwd=123456
v_log=/home/logs
v_times=10if [-d "${v_log}"];then
 echo "${v_log} has existed before."
else
 mkdir ${v_log}
fi
echo "" > ${v_log}/slave_status.log
echo "" > ${v_log}/slave_status_error.log
count=1
while true
do
 Seconds_behind_master=$(${v_dir}Mysql -u${v_user} -p${v_passwd} -e "show slave status\G;" | awk  -F':' '/Seconds_behind_master/{print $2}')
if [${Seconds_behind_master}!="NULL"];then
 echo "slave is ok!"
 ${v_dir}Mysql -u${v_user} -p${v_passwd} -e "show slave status\G;" >> ${v_log}/slave_status.log
 break
else
 echo "" >> ${v_log}/slave_status_error.log
 date >> ${v_log}/slave_status_error.log
 echo "" >> ${v_log}/slave_status_error.log
 ${v_dir}Mysql -u${v_user} -p${v_passwd} -e "show slave status\G;" >> ${v_log}/slave_status_error.log
 ${v_dir}Mysql -u${v_user} -p${v_passwd} -e "show slave status\G;" |egrep 'Delete_rows' > /dev/null 2>&1
 if [$?=0];then
  ${v_dir}Mysql -u${v_user} -p${v_passwd} -e "stop slave;SET GLOBAL sql_slave_skip_counter=1;start slave;"
 else
  ${v_dir}Mysql -u${v_user} -p${v_passwd} -e "show slave status\G;" |grep 'Last_SQL_Error'
  break
 fi
 let count++
 if [$count -gt ${v_times}];then
  break
 else
 ${v_dir}Mysql -u${v_user} -p${v_passwd} -e "show slave status\G;" >> ${v_log}/slave_status_error.log
 sleep 2
 continue
 fi
fi
done

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9522838/viewspace-2285007/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9522838/viewspace-2285007/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值