• ADADADADAD

    如何进行实时备份mysql binlog日志[ mysql数据库 ]

    mysql数据库 时间:2024-11-28 13:00:23

    作者:文/会员上传

    简介:

    在要备份binlog服务器(192.168.1.248)grantREPLICATION SLAVE on *.* 'repl'@'192.168.1.250' identified by 'repl';以下操作都是在备份binlog服务

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    在要备份binlog服务器(192.168.1.248)

    grantREPLICATION SLAVE on *.* 'repl'@'192.168.1.250' identified by 'repl';

    以下操作都是在备份binlog服务器操作(192.168.1.250)

    mkdir/backup/binlog

    cat backup_binlog.sh

    #!/bin/sh
    #指定mysqlbinlog的位置
    BACKUP_BIN=/usr/local/mysql/bin/mysqlbinlog
    #指定将远程binlog备份到本地的位置
    LOCAL_BACKUP_DIR=/backup/binlog/
    #指定备份binlog时的日志
    BACKUP_LOG=/backup/binlog/backup.log
    #指定要备份哪台binlog的ip
    REMOTE_HOST=192.168.1.248
    REMOTE_PORT=3306
    REMOTE_USER=repl
    REMOTE_PASS=repl
    FIRST_BINLOG=mysql-bin.000001


    #time to wait before reconnecting after failure
    SLEEP_SECONDS=10


    ##create local_backup_dir if necessary
    mkdir -p ${LOCAL_BACKUP_DIR}
    cd ${LOCAL_BACKUP_DIR}


    ## 运行while循环,连接断开后等待指定时间,重新连接
    while :
    do
    if [ `ls -A "${LOCAL_BACKUP_DIR}" |wc -l` -eq 0 ];then
    LAST_FILE=${FIRST_BINLOG}
    else
    LAST_FILE=`ls -l ${LOCAL_BACKUP_DIR} | grep -v backup.log |tail -n 1 |awk '{print $9}'`
    fi
    #${BACKUP_BIN} --raw --read-from-remote-server --stop-never --host=${REMOTE_HOST} --port=${REMOTE_PORT} --user=${REMOTE_USER} --password=${REMOTE_PASS} ${LAST_FILE}


    /usr/local/mysql/bin/mysqlbinlog --raw --read-from-remote-server --stop-never --host=${REMOTE_HOST} --port=${REMOTE_PORT} --user=${REMOTE_USER} --password=${REMOTE_PASS} ${LAST_FILE}
    echo "`date +"%Y/%m/%d %H:%M:%S"` mysqlbinlog停止,返回代码:$?" | tee -a ${BACKUP_LOG}
    echo "${SLEEP_SECONDS}秒后再次连接并继续备份" | tee -a ${BACKUP_LOG}
    sleep ${SLEEP_SECONDS}
    done


    后台运行该备份脚本
    nohup shbackup_binlog.sh &

    如何进行实时备份mysql binlog日志.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: binlogmysql