您好,登錄后才能下訂單哦!
MySQL 8.0 MGR(組復制)高可用VIP切換腳本
簡介:MGR(組復制)官方推薦用MySQL router中間件去做MGR高可用故障轉移,但其多過了一層網絡,性能會下降,并且需要額外維護一套中間件,運維成本過高,于是寫了一個類似MHA的master_ip_failover腳本,實現VIP切換。
1)腳本會自動設置當前Primary和備選Primary參數group_replication_member_weight值為100(權重100,默認為50的Secondary不進行vip切換)
2) 腳本會自動設置當前Primary和備選Primary參數group_replication_consistency值為BEFORE_ON_PRIMARY_FAILOVER(意思為當Primary掛了的時候,備選Primary只有把事務全部執行完畢,才提供客戶端讀寫操作)
3)最好生產關閉限流模式set global group_replication_flow_control_mode = 'DISABLED',以防止高并發期間自動觸發限流,造成主庫不可寫,引起生產事故。
?* 環境準備:
?* shell> yum install -y php-process php php-mysql
?* 開通監控管理機和MGR SSH互信(可用MHA的masterha_check_ssh腳本做檢測)
MGR(組復制)高可用VIP切換腳本
https://github.com/hcymysql/mgr_failover_vip
運行條件:
Modified by: hcymysql 2019/07/24
1、MySQL 8.0版本
2、single-primary mode(單主模式)
3、Native Password Authentication(5.5/5.6/5.7傳統用戶認證模式)
例:
CREATE USER 'hechunyang'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT ALL ON . TO 'hechunyang'@'%' WITH GRANT OPTION;
Usage:
Options:
-I ?interval time seconds 設置守護進程下間隔監測時間
--daemon 1 開啟后臺守護進程,0關閉后臺守護進程
--conf 指定配置文件
--help 幫助
Example :
前臺運行
shell> php mgr_master_ip_failover.php --conf=mgr_configure1.php
后臺運行
shell> nohup /usr/bin/php mgr_master_ip_failover.php --conf=mgr_configure1.php -I 5 --daemon 1 > /dev/null 2>&1 ? &
關閉后臺運行
shell> php mgr_master_ip_failover.php --conf=mgr_configure1.php --daemon 0
mgr_configure1.php為配置文件,你可以配置多個監控配置文件,監控多套MGR環境。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。