專業(yè)從事成都網(wǎng)站設(shè)計、網(wǎng)站制作、外貿(mào)營銷網(wǎng)站建設(shè),高端網(wǎng)站制作設(shè)計,微信小程序定制開發(fā),網(wǎng)站推廣的成都做網(wǎng)站的公司。優(yōu)秀技術(shù)團(tuán)隊竭力真誠服務(wù),采用H5開發(fā)+CSS3前端渲染技術(shù),響應(yīng)式網(wǎng)站,讓網(wǎng)站在手機(jī)、平板、PC、微信下都能呈現(xiàn)。建站過程建立專項小組,與您實時在線互動,隨時提供解決方案,暢聊想法和感受。
本文主要給大家簡單講講如何通過XtraBackup和MySQL主從復(fù)制轉(zhuǎn)移Zabbix數(shù)據(jù)庫,相關(guān)專業(yè)術(shù)語大家可以上網(wǎng)查查或者找一些相關(guān)書籍補充一下,這里就不涉獵了,我們就直奔主題吧,希望如何通過XtraBackup和MySQL主從復(fù)制轉(zhuǎn)移Zabbix數(shù)據(jù)庫這篇文章可以給大家?guī)硪恍嶋H幫助。
一 應(yīng)用場景描述
目前Zabbix監(jiān)控系統(tǒng)的Server端和Web端以及MySQL運行在同一臺虛擬機(jī)上,最近這臺虛擬機(jī)運行不是很穩(wěn)定,MySQL頻繁被OOM殺掉。故需要及時遷移Zabbix數(shù)據(jù)庫到另外一臺大內(nèi)存的物理機(jī)。
二 遷移步驟
遷移的思路是搭建MySQL主從復(fù)制,把現(xiàn)有的MySQL實例作為Master,把新的MySQL實例作為Slave,現(xiàn)DUMP一份現(xiàn)有的數(shù)據(jù)遷移到新的MySQL實例,然后設(shè)置主從同步,最后再關(guān)閉主從同步。
這里我們使用XtraBackup來備份Master的數(shù)據(jù),而不使用mysqldump來備份數(shù)據(jù),因為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/
根據(jù)數(shù)據(jù)量的多少備份的時間不同,但是比mysqldump快很多
可以使用./xtrabackup --help查看詳細(xì)參數(shù)
如果估計備份時間比較長,可以開一個screen窗口
數(shù)據(jù)備份完了之后還需要拷貝一份snapshot
./innobackupex --user=xxxxx --password=xxxxx --apply-log /backup/2016-06-08_00-59-31/
4.復(fù)制備份數(shù)據(jù)到新的MySQL云服務(wù)器
rsync -avz /backup/2016-06-08_00-59-31 172.28.2.xx:~
確保新的MySQL實例處于關(guān)閉狀態(tài)
mv /opt/data/mysql/* /backup/ mv 2016-06-08_00-59-31/* /opt/data/mysql/ chown mysql:mysql /opt/data/mysql
5.添加復(fù)制賬號
CREATE USER repl_user; GRANT REPLICATION SLAVE ON *.* TO repl_user IDENTIFIED BY 'xyzzy'; flush privileges;
6.在Slave服務(wù)端檢測是否可用復(fù)制賬號登錄
# 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| +-----------------------------------------------------------------------------------+ 1 row in set (0.03 sec)
7.配置主從復(fù)制
# 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)
SHOW SLAVE STATUS\G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Seconds_Behind_Master: 0
主要查看這三個指標(biāo)
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的配置文件
將原來的主從復(fù)制相關(guān)配置項刪除
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主從復(fù)制轉(zhuǎn)移Zabbix數(shù)據(jù)庫就先給大家講到這里,對于其它相關(guān)問題大家想要了解的可以持續(xù)關(guān)注我們的行業(yè)資訊。我們的板塊內(nèi)容每天都會捕捉一些行業(yè)新聞及專業(yè)知識分享給大家的。