溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何通過XtraBackup和MySQL主從復制轉移Zabbix數據庫

發(fā)布時間:2020-04-30 17:44:16 來源:億速云 閱讀:361 作者:三月 欄目:數據庫

本文主要給大家簡單講講如何通過XtraBackup和MySQL主從復制轉移Zabbix數據庫,相關專業(yè)術語大家可以上網查查或者找一些相關書籍補充一下,這里就不涉獵了,我們就直奔主題吧,希望如何通過XtraBackup和MySQL主從復制轉移Zabbix數據庫這篇文章可以給大家?guī)硪恍嶋H幫助。


一 應用場景描述

 目前Zabbix監(jiān)控系統(tǒng)的Server端和Web端以及MySQL運行在同一臺虛擬機上,最近這臺虛擬機運行不是很穩(wěn)定,MySQL頻繁被OOM殺掉。故需要及時遷移Zabbix數據庫到另外一臺大內存的物理機。


二 遷移步驟

 遷移的思路是搭建MySQL主從復制,把現有的MySQL實例作為Master,把新的MySQL實例作為Slave,現DUMP一份現有的數據遷移到新的MySQL實例,然后設置主從同步,最后再關閉主從同步。

 這里我們使用XtraBackup來備份Master的數據,而不使用mysqldump來備份數據,因為mysqldump備份的時候會鎖表,并且備份時間較長。


1.更改Master的my.cnf

log-bin=mysql-bin
log-bin-index=mysql-bin.index
server-id=1
binlog_format=mixed

2.更改Slave的my.cnf

server-id = 2
relay-log-index = slave-relay-bin.index
relay-log = slave-relay-bin
replicate-ignore-db=mysql

3.使用xtrabackup開始備份

./innobackupex  --user=xxxxx  --password=xxxxx     /backup/


根據數據量的多少備份的時間不同,但是比mysqldump快很多


可以使用./xtrabackup --help查看詳細參數


如果估計備份時間比較長,可以開一個screen窗口


數據備份完了之后還需要拷貝一份snapshot

./innobackupex   --user=xxxxx --password=xxxxx  --apply-log  /backup/2016-06-08_00-59-31/



4.復制備份數據到新的MySQL云服務器

rsync -avz /backup/2016-06-08_00-59-31  172.28.2.xx:~

確保新的MySQL實例處于關閉狀態(tài)

mv /opt/data/mysql/*      /backup/
mv 2016-06-08_00-59-31/*   /opt/data/mysql/
chown  mysql:mysql  /opt/data/mysql

5.添加復制賬號

CREATE USER repl_user;
GRANT REPLICATION SLAVE ON *.* TO repl_user IDENTIFIED BY 'xyzzy';
flush privileges;


6.在Slave服務端檢測是否可用復制賬號登錄

# mysql -h 172.28.2.xxx -urepl_user -p


mysql> show grants;
+-----------------------------------------------------------------------------------+
| Grants for repl_user@%                                                            |
+-----------------------------------------------------------------------------------+
| GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%' IDENTIFIED BY PASSWORD <secret> |
+-----------------------------------------------------------------------------------+
1 row in set (0.03 sec)


7.配置主從復制

# cat /opt/data/mysql/xtrabackup_binlog_info 
mysql-bin.000053	120
mysql> CHANGE MASTER TO
    -> MASTER_USER='repl_user',
    -> MASTER_PASSWORD='xyzzy',
    -> MASTER_HOST='172.28.2.XXXX',
    -> MASTER_LOG_FILE='mysql-bin.000053',
    -> MASTER_LOG_POS=120;
Query OK, 0 rows affected, 2 warnings (0.61 sec)

mysql> START SLAVE;
Query OK, 0 rows affected (0.02 sec)

如何通過XtraBackup和MySQL主從復制轉移Zabbix數據庫

SHOW SLAVE STATUS\G

 Slave_IO_Running: Yes 

 Slave_SQL_Running: Yes

 Seconds_Behind_Master: 0

主要查看這三個指標


8.停掉Zabbix server,并觀察MySQL Slave的同步延遲時間,Seconds_Behind_Master為0時就可以執(zhí)行以下的步驟了。


9.停掉并重置MySQL Slave

mysql> STOP SLAVE;
Query OK, 0 rows affected (0.04 sec)

mysql> RESET SLAVE;
Query OK, 0 rows affected (0.13 sec)

mysql> SHOW SLAVE STATUS\G
*************************** 1. row ***************************



更改Slave的配置文件

將原來的主從復制相關配置項刪除

server-id = 2
relay-log-index = slave-relay-bin.index
relay-log = slave-relay-bin
replicate-ignore-db=mysql


添加

log-bin=mysql-bin
log-bin-index=mysql-bin.index
server-id=1
binlog_format=mixed


重新啟動MySQL


10.更改Zabbix server的MySQL配置并啟動

除了更改Zabbix server的配置文件,還需要更改zabbix web的配置文件,將mysql配置更改為新的mysql


如何通過XtraBackup和MySQL主從復制轉移Zabbix數據庫就先給大家講到這里,對于其它相關問題大家想要了解的可以持續(xù)關注我們的行業(yè)資訊。我們的板塊內容每天都會捕捉一些行業(yè)新聞及專業(yè)知識分享給大家的。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI