標籤:分享 sla nload 使用者 語句 複製 延時 查看 伺服器
為了資料的安全,有的時候資料庫需要延遲備份,這裡說下兩種延遲備份的方法。
一、藉助工具。
實現環境:
192.168.189.143 (mysql主庫)
192.168.189.144 (mysql備庫,延遲3分鐘)
步驟:
1:在伺服器上安裝mysql,並配置主從複製。(省略)
2:查看144從庫的複製狀態,確認同步正常,也可在主庫上寫入資料測試。
3:下載percona-toolkit軟體包,並上傳至143主庫,並安裝:
:http://www.percona.com/downloads/percona-toolkit/
#wget http://www.percona.com/downloads/perconatoolkit/2.2.14/RPM/percona-toolkit-2.2.14-1.noarch.rpm
#yum -y install percona-toolkit-2.2.14-1.noarch.rpm
註:若安裝提示pulic key問題,導致失敗,則修改/etc/yum.conf中的gpgcheck參數為0。
安裝成功,查看pt-slave-delay是否可用:
#pt-slave-delay --help
4:在144從庫上配置一個使用者,供延遲複製工具串連使用。
mysql> grant all on *.* to ‘delay_rep‘@‘192.168.189.%‘ identified by ‘123456‘;
mysql>flush privileges;
5:開啟延遲複製:
#pt-slave-delay --user=‘delay_rep‘ --password=‘123456‘ --delay=3m --interval=20s 192.168.189.144
--user=:延時伺服器中授權使用者的使用者名稱。
--password=:延時伺服器中授權使用者的密碼。
--delay=3m:延時同步的時間,這裡設定為3分鐘。
--interval=20s:檢查同步的時間,這裡設定為20s。
192.168.189.144:延時伺服器的IP地址。
這時候查看144的slave同步狀態,可以看到Slave_SQL_Running狀態變為NO。延遲複製現在已經生效了。
二、MySQL自己的配置。
Mysql (需5.6以上版本)延遲複製配置,通過設定Slave上的MASTER TO MASTER_DELAY參數實現:
CHANGE MASTER TO MASTER_DELAY = N;
N為多少秒,該語句設定從資料庫延時N秒後,再與主要資料庫進行資料同步複製
具體操作:
登陸到Slave資料庫伺服器
mysql>stop slave;mysql>CHANGE MASTER TO MASTER_DELAY = 600;mysql>start slave;mysql>show slave status \G;
查看SQL_Delay的值為600,表示設定成功。
注釋:
SQL_Delay:一個非負整數,表示秒數,Slave滯後多少秒於master。
SQL_Remaining_Delay:當 Slave_SQL_Running_State 等待,直到MASTER_DELAY秒後,Master執行的事件,
此欄位包含一個整數,表示有多少秒左右的延遲。在其他時候,這個欄位是NULL
MySQL延遲複製--percona-toolkit和MASTER TO MASTER_DELAY