脚本之mysql数据同步重建
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了脚本之mysql数据同步重建相关的知识,希望对你有一定的参考价值。
分享一个mysql主从数据重建脚本
注意:
1.这个脚本需要对服务器进行ssh密钥认证
2.多台slave需要用“,”连接
3.DBUSER需要有master数据库导出和slave数据库导入以及stop/start slave的权限
使用方法:
mysql-replicate-rebuild.sh [master-ip/master-host] [slave-ip/slave-host,slave-ip/slave-host,...] [dbuser] [dbpassword]
#!/bin/bash MASTER=$1 SLAVE=$(echo $2|sed ‘s:,: :g‘) DBUSER=$3 DBPASSWORD=$4 DATABASES=$(ssh ${MASTER} "mysql -u${DBUSER} -p${DBPASSWORD} -e ‘show master status \G;‘|grep -oP ‘(?<=Binlog_Do_DB:).+‘|sed ‘s:,: :‘") ssh ${MASTER} "mysqldump -u${DBUSER} -p${DBPASSWORD} --master-data=1 --databases ${DATABASES} >/tmp/replicate.data" rsync -avc ${MASTER}:/tmp/replicate.data /tmp/ ssh ${MASTER} "rm -rf /tmp/replicate.data" sed -i ‘1i stop slave;‘ /tmp/replicate.data echo "start slave;" >>/tmp/replicate.data for i in $SLAVE do ( rsync -avc /tmp/replicate.data ${i}:/tmp/replicate.data ssh ${i} "mysql -u${DBUSER} -p${DBPASSWORD} </tmp/replicate.data && rm -rf /tmp/replicate.data" echo "${i} replicate finish!" )& done wait rm -rf /tmp/replicate.data
本文出自 “yahsei” 博客,请务必保留此出处http://yahsei.blog.51cto.com/1584302/1897751
以上是关于脚本之mysql数据同步重建的主要内容,如果未能解决你的问题,请参考以下文章
数据同步软件 Shareplex 异常重建详细步骤(Oracle 数据库)
数据同步软件 Shareplex 异常重建详细步骤(Oracle 数据库)