MySql教程

使用mysqlbinlog远程备份binlog

本文主要是介绍使用mysqlbinlog远程备份binlog,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
#!/bin/sh

MBL=/usr/local/mysql/bin/mysqlbinlog 
MYSQLHOST=192.168.56.1
MYSQLPORT=3306
MYSQLUSER=replication_user
MYSQLPASS=replication_pass
BACKUPDIR=/media/binlogs/server2/

# time to wait before reconnecting after failure
RESPAWN=10

cd $BACKUPDIR

echo "Backup dir: $BACKUPDIR "

while :
do
LASTFILE=`ls -1 $BACKUPDIR|grep -v orig|tail -n 1`
TIMESTAMP=`date +%s`
FILESIZE=$(stat -c%s "$LASTFILE")

if [ $FILESIZE -gt 0 ]; then
    echo "Backing up last binlog"
    mv $LASTFILE $LASTFILE.orig$TIMESTAMP
fi
touch $LASTFILE
echo "Starting live binlog backup"
$MBL --raw --read-from-remote-server --stop-never --host $MYSQLHOST --port $MYSQLPORT -u $MYSQLUSER -p$MYSQLPASS $LASTFILE 

echo "mysqlbinlog exited with $? trying to reconnect in $RESPAWN seconds."

sleep $RESPAWN
done

nohup livebinlog.sh  2>&1 > /var/log/livebinlog/server2.log &

  

更复杂的脚本可以参考:

https://github.com/ardabeyazoglu/mysql-binlog-backup/blob/master/syncbinlog.sh

这篇关于使用mysqlbinlog远程备份binlog的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!