MySQL主從/Zabbix 一次完整的遷移過程
受機房影響,線上業務需要做一些改動,原架構需要做一次替換將之前的主作為從,從作為主,當前線上架構:
遷移之後的架構如下:
因Zabbix主主模式不支援,需要將原zabbix從資料(164)匯出一份傳到(84)上面進行主從修改,為不影響線上業務,現需要停止主從同步:
164目前進行同步狀態
1,清空binlog日誌:
164檢視是否出現不同步
2:現不影響線上環境 需要將164 啟動zabbixserver服務
3:現在的話 主從已經不存在,修改84MySQL配置檔案,將zabbix的一些歷史記錄的一些表不同步,重啟MySQL
4:將164暫時鎖表,將zabbix
注意:鎖表之後該服務將暫時返回502 為不影響線上 將之前的84暫時啟動;
匯出之後 記得 重置binlog日誌(根據需求可不重置),記住偏移量,然後 解鎖表。
5:下載SQL檔案
下載過程中 可以到164上新增週期性計劃任務定時清除zabbix歷史記錄,防止歷史記錄過多,導致查詢資料變慢,(根據公司需求可以保留):
每週日凌晨2點執行 清理zabbix歷史記錄指令碼,清理
6:上傳之後:將84的zabbixServer 停掉(如果不停掉的話,那麼資料匯入之後Server會執行(寫入資料)) 將資料匯入mysql 進行主從設定
匯入SQL資料時出現問題,這個問題是zabbix庫下有檔案沒有刪乾淨 要麼進資料庫從新刪除在建立,要麼直接進入目錄下進行rm -f
遇到這樣的情況,你就應該嘗試著去刪除dirdata下的zabbix目錄了(因之前刪過,不在演示)
7:檢視主從狀態,測試164建立測試庫 84是否同步
從檢視Slave狀態
164主進行建立test1庫以及刪除test1庫測試
84從進行測試
至此整個mysql+zabbix遷移完成,中間有很多我遇到的問題 我沒有寫出來因為,生產環境不同你們可能不會遇到。