MHA 日常管理,mha管理

來源:互聯網
上載者:User

MHA 日常管理,mha管理
    MHA是眾多使用MySQL資料庫企業高可用的不二選擇,它簡單易用,功能強大,實現了基於MySQL replication架構的自動主從容錯移轉。本文主要描述MHA的日常相關操作,同時給出了關於MHA的相關串連,供大家參考。


一、MHA的主要指令碼(perl)
1.manager端
masterha_check_ssh              檢查MHA的SSH配置狀況
masterha_check_repl             檢查MySQL複製狀況
masterha_manger                 啟動MHA
masterha_check_status           檢測當前MHA運行狀態
masterha_master_monitor         檢測master是否宕機
masterha_master_switch          控制容錯移轉(自動或者手動)
masterha_conf_host              添加或刪除配置的server資訊


2.node端
save_binary_logs                儲存和複製master的二進位日誌
apply_diff_relay_logs           識別差異的中繼日誌事件並將其差異的事件應用於其他的slave
filter_mysqlbinlog              去除不必要的ROLLBACK事件(MHA已不再使用這個工具)
purge_relay_logs                清除中繼日誌(不會阻塞SQL線程)


二、日常操作
1.校正ssh等效驗證
$ masterha_check_ssh --conf=/etc/masterha/app1.cnf


2.校正mysql複製
$ masterha_check_repl --conf=/etc/masterha/app1.cnf


3.啟動mha監控,在master故障時開啟自動轉移
$ nohup masterha_manager --conf=/etc/masterha/app1.cnf > /tmp/mha_manager.log  < /dev/null 2>&1 &

###當有slave節點宕掉的情況是啟動不了的,加上--ignore_fail_on_start即使有節點宕掉也能啟動mha
$ nohup masterha_manager --conf=/etc/masterha/app1.cnf  --ignore_fail_on_start > /tmp/mha_manager.log  < /dev/null 2>&1 &


4.檢查啟動的狀態
$ masterha_check_status --conf=/etc/masterha/app1.cnf


5.停止mha
$ masterha_stop  --conf=/etc/masterha/app1.cnf


6.多次failover
MHA在每次failover切換後會在管理目錄組建檔案app1.failover.complete ,下次在切換的時候如果由於間隔時間太短導致切換不成功,應手動清理掉。
rm -rf /var/log/masterha/app1/app1.failover.complete
或者通過加上參數--ignore_last_failover來忽略


7.手工failover
手工failover情境,適用於在master死掉,而masterha_manager未開啟情形,如下,指定--master_state=dead
masterha_master_switch --conf=/etc/masterha/app1.cnf --dead_master_host=192.168.1.6 --master_state=dead --new_master_host=192.168.1.7
--ignore_last_failover


8.手動線上切換,如下,指定--master_state=alive
masterha_master_switch --conf=/etc/masterha/app1.cnf --master_state=alive --new_master_host=192.168.1.6 --orig_master_is_new_slave

masterha_master_switch --conf=/etc/masterha/app1.cnf --master_state=alive --new_master_host=192.168.1.6 --orig_master_is_new_slave
--running_updates_limit=10000

--orig_master_is_new_slave
  表明在切換時原master變為新master的slave節點
  
--running_updates_limit=10000
  切換時候選master如果有延遲的話,mha切換不能成功,加上此參數表示延遲在此時間範圍內都可切換(單位為s),
  但是切換的時間長短是由recover時relay日誌的大小決定

其他注意事項
  手動線上切換mha,切換時需要將在啟動並執行mha停掉後才能切換。
  在備庫先執行DDL,一般先stop slave,一般不記錄mysql日誌,可以通過set SQL_LOG_BIN = 0實現。
  然後進行一次主備切換操作,再在原來的主庫上執行DDL。這種方法適用於增減索引,如果是增加欄位就需要額外注意。
  可以通過如下命令停止mha:masterha_stop --conf=/etc/masterha/app1.cnf


三、MHA相關參考
  MySQL MHA簡介及其優點
  MySQL MHA 典型使用情境
  MHA安裝及等效性配置
  MHA 設定檔樣本描述
  MySQL MHA配置常見問題
  MHA masterha_check_repl 檢測過程
  MHA VIP切換指令碼
  MHA 自動容錯移轉步驟及過程剖析
  MHA 線上切換過程
  MHA 切換的2個異常(masterha_master_switch line 53)
  MHA 手動容錯移轉

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.