【Mysql】遠端備份binlog日誌到本地

小亮520cl發表於2016-03-21

MySQL Binlog Server:是利用某個工具,把線上活躍的庫的日誌拉取到本地進行備份。在MySQL 5.6以後,可以利用mysqlbinlog這個命令去把遠端機器的日誌備份到本地目錄,從而達到增量或是日誌安全方面的備份。

做好MySQL日誌的備份,是資料安全的一個重要保證。以前透過寫程式來實現,從MySQL 5.6出現以後,DBA同步有福了,不用寫程式了。
下面說一下binlog Server怎麼構建。
利用mysql 5.6的mysqlbinlog命令,可以把遠端的binlog完全鏡象一份放到本地,方法如下:

點選(此處)摺疊或開啟

  1. [root@hostnfsd :/root]$ mysqlbinlog -R --raw --host=192.168.1.56 --user='atlas_user' --password='ionm3aUwK98N45nH' --port=3307 --stop-never mysql-bin.000001
解釋一下:


-R –read-from-remote-server 表示從遠端機器上讀取binlog,要確保遠端mysql儲存,需要提供–host, –user, –password引數
–raw 以binlog格式儲存日誌,方便後期使用
–stop-never 一直連線到遠端的server上讀取日誌,直接到遠端的server關閉後才會退出。或是被pkill掉
mysql-bin.0000001 這個日誌名錶示從那個日誌開始讀取

如果需要啟動多個binlog server,需要給binlog server指定server-id(預設是65535),可以利用 –stop-never-slave-server-id變更

啟動一個server-id為1的binlog server:

點選(此處)摺疊或開啟

  1. /usr/local/mysql/bin/mysqlbinlog -R --raw --host=192.168.11.100 --user='repl' --password='repl4slave' --stop-never --stop-never -slave-server-id=1 mysql-bin.000003


啟動一個server-id為2的binlog server:

點選(此處)摺疊或開啟

  1. /usr/local/mysql/bin/mysqlbinlog -R --raw --host=192.168.11.100 --user='repl' --password='repl4slave' --stop-never --stop-never -slave-server-id=2 mysql-bin.000003



思考:
這種binlog server怎麼關閉才算安全呢?

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29096438/viewspace-2061012/,如需轉載,請註明出處,否則將追究法律責任。

相關文章