mysql5.6主主集群自动同步脚本
短信预约 -IT技能 免费直播动态提醒
在mysql主主集群中有机器关机等情况导致同步失效,自己写了一个shell脚本,以方便自己以后维护:
脚本内容如下:
#!/bin/bash
#设置主节点、从节点IP和mysql数据库管理员用户名密码信息 同步用户名密码信息
_MASTERHOST=192.168.1.207
_SLAVEHOST=192.168.1.208
_USER=root
_MASTERPASD=root
_SLAVEPASD=root
_TBUSER=ab
_TBPASD=123
#配置从到主的同步
mysql -h $_MASTERHOST -uroot -p$_MASTERPASD -e "flush tables with read lock;"
master_log_file=`mysql -u root -h $_MASTERHOST -p$_MASTERPASD -e "show master status;" | awk 'NR==2 {print $1}'`
master_log_position=`mysql -u root -h $_MASTERHOST -p$_MASTERPASD -e "show master status;" | awk 'NR==2 {print $2}'`
mysql -h $_MASTERHOST -uroot -p$_MASTERPASD -e "unlock tables;"
mysql -h $_SLAVEHOST -uroot -p$_SLAVEPASD -e "stop slave;"
mysql -h $_SLAVEHOST -uroot -p$_SLAVEPASD -e "CHANGE MASTER TO MASTER_HOST='$_MASTERHOST',MASTER_PORT=3306,MASTER_USER='$_TBUSER',MASTER_PASSWORD='$_TBPASD',MASTER_LOG_FILE='$master_log_file',MASTER_LOG_POS=$master_log_position;"
mysql -h $_SLAVEHOST -uroot -p$_SLAVEPASD -e "start slave;"
#配置主到从的同步
mysql -h $_SLAVEHOST -uroot -p$_SLAVEPASD -e "flush tables with read lock;"
slave_log_file=`mysql -u root -h $_SLAVEHOST -p$_SLAVEPASD -e "show master status;" | awk 'NR==2 {print $1}'`
slave_log_position=`mysql -u root -h $_SLAVEHOST -p$_SLAVEPASD -e "show master status;" | awk 'NR==2 {print $2}'`
mysql -h $_SLAVEHOST -uroot -p$_SLAVEPASD -e "unlock tables;"
mysql -h $_MASTERHOST -uroot -p$_MASTERPASD -e "stop slave;"
mysql -h $_MASTERHOST -uroot -p$_MASTERPASD -e "CHANGE MASTER TO MASTER_HOST='$_SLAVEHOST',MASTER_PORT=3306,MASTER_USER='$_TBUSER',MASTER_PASSWORD='$_TBPASD',MASTER_LOG_FILE='$slave_log_file',MASTER_LOG_POS=$slave_log_position;"
mysql -h $_MASTERHOST -uroot -p$_MASTERPASD -e "start slave;"
#检查
mysql -h $_MASTERHOST -uroot -p$_MASTERPASD -e "show slave status\G;" | awk '$0 ~/Host/ || $0 ~/State/ || $0 ~/Running/'
mysql -h $_SLAVEHOST -uroot -p$_SLAVEPASD -e "show slave status\G;" | awk '$0 ~/Host/ || $0 ~/State/ || $0 ~/Running/'
脚本内容如下:
#!/bin/bash
#设置主节点、从节点IP和mysql数据库管理员用户名密码信息 同步用户名密码信息
_MASTERHOST=192.168.1.207
_SLAVEHOST=192.168.1.208
_USER=root
_MASTERPASD=root
_SLAVEPASD=root
_TBUSER=ab
_TBPASD=123
#配置从到主的同步
mysql -h $_MASTERHOST -uroot -p$_MASTERPASD -e "flush tables with read lock;"
master_log_file=`mysql -u root -h $_MASTERHOST -p$_MASTERPASD -e "show master status;" | awk 'NR==2 {print $1}'`
master_log_position=`mysql -u root -h $_MASTERHOST -p$_MASTERPASD -e "show master status;" | awk 'NR==2 {print $2}'`
mysql -h $_MASTERHOST -uroot -p$_MASTERPASD -e "unlock tables;"
mysql -h $_SLAVEHOST -uroot -p$_SLAVEPASD -e "stop slave;"
mysql -h $_SLAVEHOST -uroot -p$_SLAVEPASD -e "CHANGE MASTER TO MASTER_HOST='$_MASTERHOST',MASTER_PORT=3306,MASTER_USER='$_TBUSER',MASTER_PASSWORD='$_TBPASD',MASTER_LOG_FILE='$master_log_file',MASTER_LOG_POS=$master_log_position;"
mysql -h $_SLAVEHOST -uroot -p$_SLAVEPASD -e "start slave;"
#配置主到从的同步
mysql -h $_SLAVEHOST -uroot -p$_SLAVEPASD -e "flush tables with read lock;"
slave_log_file=`mysql -u root -h $_SLAVEHOST -p$_SLAVEPASD -e "show master status;" | awk 'NR==2 {print $1}'`
slave_log_position=`mysql -u root -h $_SLAVEHOST -p$_SLAVEPASD -e "show master status;" | awk 'NR==2 {print $2}'`
mysql -h $_SLAVEHOST -uroot -p$_SLAVEPASD -e "unlock tables;"
mysql -h $_MASTERHOST -uroot -p$_MASTERPASD -e "stop slave;"
mysql -h $_MASTERHOST -uroot -p$_MASTERPASD -e "CHANGE MASTER TO MASTER_HOST='$_SLAVEHOST',MASTER_PORT=3306,MASTER_USER='$_TBUSER',MASTER_PASSWORD='$_TBPASD',MASTER_LOG_FILE='$slave_log_file',MASTER_LOG_POS=$slave_log_position;"
mysql -h $_MASTERHOST -uroot -p$_MASTERPASD -e "start slave;"
#检查
mysql -h $_MASTERHOST -uroot -p$_MASTERPASD -e "show slave status\G;" | awk '$0 ~/Host/ || $0 ~/State/ || $0 ~/Running/'
mysql -h $_SLAVEHOST -uroot -p$_SLAVEPASD -e "show slave status\G;" | awk '$0 ~/Host/ || $0 ~/State/ || $0 ~/Running/'
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
mysql5.6主主集群自动同步脚本
下载Word文档到电脑,方便收藏和打印~
下载Word文档
猜你喜欢
2024-04-02
2024-04-02
Shell脚本实战之DNS主从同步脚本实例
DNS主从同步脚本实例PS:两个服务器起好后最好两个服务都重启一下主服务器配置#!/bin/bash
#DNS主从同步——主服务器rpm -q bind
if [ $ -ne 0 ];thenyum install bind -ysyste
2022-06-04
Shell脚本中如何实现DNS主从同步脚本
这篇文章给大家分享的是有关Shell脚本中如何实现DNS主从同步脚本的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。DNS主从同步脚本实例PS:两个服务器起好后最好两个服务都重启一下主服务器配置#!/bin/bas
2023-06-09
Ubuntu Spark集群的自动化运维脚本
Ubuntu Spark集群的自动化运维脚本可以帮助你简化集群的管理和维护工作。以下是一个简单的示例脚本,用于自动化Ubuntu Spark集群的安装和配置。这个脚本包括了基本的安装步骤、环境配置和启动服务。#!/bin/bash# 定义
2024-10-19
Linux下MySQL主从同步监控shell脚本
说明:操作系统:CentOS目的:定时监控MySQL主从数据库是否同步,如果不同步,记录故障时间,并执行命令使主从恢复同步状态1、创建脚本文件vi /home/crontab/check_mysql_slave.sh #编辑,添加下面代
2022-06-03
2024-04-02
Shell脚本实现监控MySQL主从同步
代码如下:#!/bin/bash#check MySQL_Slave Status#crontab time 00:10MYSQLPORT=`netstat -na|grep "LISTEN"|grep "3306"|awk -F[:" "
2022-06-04
2024-04-02
自动同步2个目录python脚本
#!/usr/bin/python# -*- coding: utf8 -*-import osimport sysimport filecmpimport reimport shutilfile_list = []def recursiv
2023-01-31
python自动化管理mysql主从同步
mysql多实例1.my.cnf通过定义mysqldconfig类 mysqld_vars = {} 从里面获得很多配置文件相关参数写入字典mysql.py2.init DB初始化数据库3.修改权限4.rc脚本启动5.check 检查
2023-01-31
2024-04-02
2024-04-02
2024-04-02
怎么用Shell脚本实现监控MySQL主从同步
这篇文章主要介绍“怎么用Shell脚本实现监控MySQL主从同步”,在日常操作中,相信很多人在怎么用Shell脚本实现监控MySQL主从同步问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Shell脚本实
2023-06-09
redis集群不通过reids-trib脚本创建3主3从redis集群的示例分析
这篇文章主要介绍redis集群不通过reids-trib脚本创建3主3从redis集群的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 1、启动126,127,128 3个7000端口redis(maste
2023-06-06
2024-04-02
利用Shell脚本实现自动修改IP、主机名等功能
这篇文章主要介绍“利用Shell脚本实现自动修改IP、主机名等功能”,在日常操作中,相信很多人在利用Shell脚本实现自动修改IP、主机名等功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”利用Shell脚本
2023-06-09
Shell脚本实现自动修改IP、主机名等功能分享
作为一名Linux SA,日常运维中很多地方都会用到脚本,而服务器的ip一般采用静态ip或者MAC绑定,当然后者比较操作起来相对繁琐,而前者我们可以设置主机名、ip信息、网关等配置。修改成特定的主机名在维护和管理方面也比较方便。如下脚本用途
2022-06-04