從5.6版本開始,可以利用 mysqlbinlog指令把遠端機器的日志備份到本地目錄,這樣就更加友善快捷的實作一個binlog server。
環境介紹:192.168.56.100是備份伺服器,192.168.56.101是需要備份binlog的MySQL伺服器。
重點參數介紹:
-R,--read-from-remote-server 代表從遠端MySQL伺服器上讀取binlog。
-raw 以binlog格式存儲日志,友善後期使用。
--stop-never 連接配接到遠端的MySQL伺服器上讀取日志,直到遠端的服務關閉後才會退出,或者被kill掉。
mysql-bin.*** 代表從哪個日志開始備份。
--stop-never-slave-server-id mysqlbinlog 相當于從庫拉取主庫的日志,所有需要server-id來做一個唯一的辨別。
操作如下:
現在56.100 建立一個binlog的備份目錄:
mkdir -p /data/binlogbak
再在56.100上執行遠端複制binlog指令,從 mysql-binlog.00008 開始備份,運作下指令時,會把檔案傳到此檔案下,是以要切換到 /data/binlogbak 下運作:
mysqlbinlog --raw --read-from-remote-server --stop-never --host=192.168.56.101 --port=3306 --user=root --password=Aa123456 mysql-binlog.00008