码迷,mamicode.com
首页 > 其他好文 > 详细

主从故障快速修复脚本

时间:2020-03-31 16:05:41      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:处理   端口   roo   running   提升   而且   amp   数据库   mys   

最近主从出现故障,做了数据恢复还原后,需要重新配置主从配置,由于是多年前的配置,对里面的结构又得重新熟悉下,而且中间多了一层docker,比较费时,手动切输入切换多有不便,于是处理故障的同时,决定编写如下脚本,以便备用,提升效率。如有需要可供参考。

#!/bin/bash
#date: 2020.3.30
#author:jerry
##this shell repair ms make by jerry
##ver 2.0
##OA名称 MySQL端口号 主从用户名 主从用户密码
OA_name=$1
Port_no=$2
User=$3
Pwd=$4
##主从服务器IP地址
IP1=192.168.33.19
IP2=192.168.33.20
##获取数据日志文件及其位置
log_file=mysql -uu_name -ppwd_7788..remote -h$IP2 -P$Port_no -e "show master status;"|awk ‘NR>1 {print $1}‘
log_pos=mysql -uu_name -ppwd_7788..remote -h$IP2 -P$Port_no -e "show master status;"|awk ‘NR>1 {print $2}‘
##重置数据库主从配置信息
sudo docker exec -i $OA_name mysql -uroot -ppwd_7788.. -e "stop slave;"
sudo docker exec -i $OA_name mysql -uroot -ppwd_7788.. -e "flush privileges;"
sudo docker exec -i $OA_name mysql -uroot -ppwd_7788.. -e "reset slave;"
sudo docker exec -i $OA_name mysql -uroot -ppwd_7788.. -e "flush privileges;"
##创建主从配置并开启主从设置
sudo docker exec -i $OA_name mysql -uroot -ppwd_7788.. -e "change master to master_host=‘$IP2‘,master_port=$Port_no,master_user=‘$User‘,master_password=‘$Pwd‘,master_log_file=‘$log_file‘,master_log_pos=$log_pos;"
sudo docker exec -i $OA_name mysql -uroot -ppwd_7788.. -e "flush privileges;"
sudo docker exec -i $OA_name mysql -uroot -ppwd_7788.. -e "start slave;"
sudo docker exec -i $OA_name mysql -uroot -ppwd_7788.. -e "flush privileges;"
##主从状态情况检测
mysql -u$User -p$Pwd -h$IP1 -P$Port_no -e "show slave status\G;"|grep "Running"

主从故障快速修复脚本

标签:处理   端口   roo   running   提升   而且   amp   数据库   mys   

原文地址:https://blog.51cto.com/jdonghong/2483403

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!