mysql 架構 ~ binlog_server


一 簡介 mysql binlog server

二 目的 實時備份線上的binlog 利用備份+binlog進行任何時間點的恢復

三  詳細信息
    1 基本命令

    /usr/local/mysql/bin/mysqlbinlog -R --raw --host=  --user=‘’--password='' --stop-never-slave-server-id= --stop-never filename &

    use password 采用復制賬戶權限即可  

    raw 以binlog格式存儲日志,方便后期使用 不加就是以文本格式,意義不大 

    stop-never-slave-server-id 如果需要啟動多個binlog server,需要給binlog server指定server-id

    stop-never 持續性拷貝
    binlogname 從哪個binlog開始拷貝

   2 原理

    mysqlbinlog會偽裝成一個slave,連接讀取,請求指定的binlog file,主庫獲取接收到這個請求之后就創建一個binlog dump線程推送binlog給mysqlbinlog server。

   進程啟動后 可以根據show processlist查看到

  3 注意點

     1  mysql master進程退出后,binlog server進程也會退出 

     2  mysql5.6 在mysqlbinlog命令執行結束時追加rollback語句 但是5.7沒有這個問題需要注意下

  4 監控binlog server命令

      function check(){

       count=`ps -ef|grep $1|grep -v grep`

        if [ $count ];

        then

        else

        fi

      }

     check IP

四 上線注意點

   1 最好准備一台機器進行線上binlog的統一收集,這樣有幾個好處

              1 易於管理部署,包括日志本身和進程管理

              2 利用開源工具進行binlog解析時可以減少dump時間

     2 統一進行收集時要做好之前binlog與日期對應的記錄,這樣在恢復之前,能找到對應的binlog

     3 做好binlog_server的進程監控


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM