一 簡介 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的進程監控
