MySQL5.7主从环境自动同步脚本

主库IP:192.168.8.129 hostname:master
从库IP:192.168.8.130 hostname:slave
1、说明:此脚本针对上一篇文章《CentOS7.X安装部署mysql5.7主从环境》搭建完成后的主从随时同步使用https://blog.51cto.com/8355320/2448056
2、MySQL主从同步会出现如网络延迟等多种原因,造成主从环境不同步,当需要重新同步主从环境时,需要等到业务不繁忙的晚上或周末来进行,而使用脚本备份,有了全库备份,有了binlog日志偏移记录值,我们就可以实现随时进行主从同步操作
3、主库备份脚本:



[[email protected]]# cat auto_mysql_masterbak.sh

#!/bin/bash
#Author Danrtsey
#function: 主库备份所有库,并记录master status,用于做主从同步恢复时使用
BACKUP_FOLDERNAME=/data/masterbak
DB_USERNAME="root"
DB_PASSWORD="密码"

LOG_FILE=${BACKUPFOLDERNAME}/mysqllogsdate +%F.log
DATA_FILE=${BACKUP_FOLDERNAME}/mysqlbackupdate +%F.sql.gz

MYSQL_CMD="/bin/mysql -u$DB_USERNAME -p$DB_PASSWORD"
MYSQL_DUMP="/bin/mysqldump --set-gtid-purged=off -u$DB_USERNAME -p$DB_PASSWORD -A -B --flush-logs --single-transaction -e"

#锁表--全库备份--查看主库状态并记录--解琐表
$MYSQL_CMD -e "flush tables with read lock;"
echo "-----show master status result-----" >>$LOG_FILE
$MYSQL_CMD -e "show master status;" >>$LOG_FILE
${MYSQL_DUMP} | gzip > $DATA_FILE
$MYSQL_CMD -e "unlock tables;"
#保留10份备份文件
find ${BACKUP_FOLDERNAME} -mtime +10 -name ".sql.gz" -exec rm -rf {} \;
find ${BACKUP_FOLDERNAME} -mtime +10 -name "
.log" -exec rm -rf {} \;
4、从库同步脚本

[[email protected]]# cat auto_mysql_slavebak.sh
#!/bin/bash
#Author Danrtsey
#function: 从库使用主库/data/masterbak的备份
#查看/data/masterbak下面的mysqllogs记录的主库master status信息
#从库同步时填写相关信息,实现从库随时同步使用

#注意更改MASTER_LOG_FILE对应的数值及MASTER_LOG_POS的数值,举例如下
#MASTER_LOG_FILE=‘mysql-bin.000002‘,
#MASTER_LOG_POS=342;

BACKUP_FOLDERNAME=/data/slavebak
DB_USERNAME="root"
DB_PASSWORD="密码"

LOG_FILE=${BACKUPFOLDERNAME}/mysqllogsdate +%F.log
DATA_FILE=${BACKUP_FOLDERNAME}/mysqlbackupdate +%F.sql.gz

MYSQL_CMD="/bin/mysql -u$DB_USERNAME -p$DB_PASSWORD"

#recover
cd ${BACKUP_FOLDERNAME}
gzip -d mysqlbackupdate +%F.sql.gz
$MYSQL_CMD < mysqlbackupdate +%F.sql

$MYSQL_CMD -e "stop slave;"
#config slave
$MYSQL_CMD -e "CHANGE MASTER TO MASTER_HOST=‘192.168.8.129‘,MASTER_PORT=3306,MASTER_USER=‘slave‘,MASTER_PASSWORD=‘密码‘,MASTER_LOG_FILE=‘mysql-bin.000002‘,MASTER_LOG_POS=342;"

$MYSQL_CMD -e "start slave;"
$MYSQL_CMD -e "show slave status\G"|egrep "IO_Running|SQL_Running" >$LOG_FILE
cat $LOG_FILE



从库同步时,查看日志显示有两个yes表示从库同步成功

原文地址:https://blog.51cto.com/8355320/2448346

时间: 2024-11-05 23:22:00

MySQL5.7主从环境自动同步脚本的相关文章

CentOS7.X安装部署mysql5.7主从环境

生产搭建环境:操作系统:CentOS7.5内存大小:32GB硬盘:500G主库IP:192.168.8.129 hostname:master从库IP:192.168.8.130 hostname:slave 涉及主从都需要执行的地方,文中只写主库的操作指使,从库请自觉执行相同的命令 目录:1.环境准备与清理2.参数调优3.安装部署 1.系统初始化1.1.1. 主从库环境关闭selinux [[email protected]]# sed -i 's/SELINUX=enforcing/SELI

SVN与TFS自动同步脚本(很实用)

一直都在园子里看文章,因为各种原因懒得写文章.最近稍得空闲,把这几天的工作成果分享一下. 因为工作需要,开发人员使用Qt进行系统移动端的开发,Qt的版本控制却不提供连接TFS的设置,只有使用svn.没有办法,只有安装svn,现学现了解,最后发现可以通过svn的hooks实现提交后,svn服务端自动同步到tfs服务端.post-commit脚本如下: ET WORKDIR=D:\xxxx SET SVNDIR= C:\Program Files\VisualSVN Server\bin SET S

Cacti节点数据库自动同步脚本

因公司CA平台较多,每次添加或修改数据都需要在好几个CA上进行操作,同时因公司每台CA上都部署有自动导出脚本,如果手动给每台CA服务器添加或修改数据的话会造成图形ID不一致,从而导致自动导出的图形不一致等问题.所以做次脚本.部署在主CA上.并添加crontab计划任务.每日凌晨自动同步所有节点数据库,使所有节点数据一致. 一.首先编辑脚本 touch /root/back.sh chmod +x /root/back.sh vi /root/back.sh 二.插入一下脚本内容,具体参数根据实际

单台服务器LAMP环境自动搭建脚本

先上效果图: 然后是脚本内容: #!/bin/bash #LAMP install #By liupengfang ----2015-07-21---- echo -e "\033[35m--欢迎使用LAMP自动安装脚本--\033[0m" sleep 3 cd /lamp echo -e "\033[35m--Apache安装--\033[0m" echo -e "\033[35m文件解压--\033[0m" tar vxf httpd-2.2

linux下PXE无人值守环境自动安装脚本

当时单位要安装一套linux的PXE无人值守装机程序,装完后花了九牛二虎之力写了一个自动安装脚本,以便今后安全方便,不过后来就没怎么用了,甚至都有些淡忘了,哈哈,分享出来,有研究PXE自动安装的可以看看,在使用的时候里面的ip地址要换掉的. #!/bin/sh #writer:gaolixu yum -y install dhcp tftp-server vsftpd syslinux xinetd if ! service dhcpd status ;then ############### 

mysql5.7主从(Master/Slave)同步配置

环境: mysql版本都是5.7(以前的版本配置可能不一样) 主(Master) windows:192.168.0.68 从(Slave) centos7:192.168.0.4 基本环境配置: 要保证防火墙3306端口开放,如果只是为了学习,可以直接关闭防火墙. centos关闭防火墙方法:service iptables stop或者systemctl stop firewalld Master的配置 修改/etc/my.cnf [mysqld] log-bin=mysql-bin ser

Linux centos5.6版本下mysql5.6主从环境安装配置

MySQL数据库支持数据库的主从复制功能,因此在集群方面具有其独特的优势,国内外大型网站架构体系中,均采用了MySQL的主从数据库配置来实现查询负载.数据库热备等功能.本人在此将如何配置实现做了个简单小结. 服务器配置,具体iP,主从库如下 主库 IP:192.168.1.189 master server 从库 IP:192.168.1.188 slave server 服务器系统为:centos5.6,下载安装软件包具体包括如下 MySQL-client-5.6.13-1.linux_gli

rsync自动同步脚本

#!/bin/shbak_path="/var/atlassian/application-data/confluence/backups"rsync [email protected]:$bak_path/ /backup/backup/technet -avzu 配合crontab命令使用 * * * * * sh /root/sh/backup.sh

mysql5.6 主从同步配置

一:配置前说明 在centos 6环境下配置 mysql 5.6主从同步 准备两台测试的虚拟机,2台虚拟机上都安装mysql软件,并开启mysql服务主master : 192.168.1.110从slave : 192.168.1.109 二:配置主库 1: 授权给从数据库服务器 mysql> grant replication slave on *.* to 'rep1'@'192.168.1.109' identified by 'test123456'; Query OK, 0 rows