结构
主机名
IP
端口
作用
proxysql
172.17.0.7
6032,6033
代理
master
172.17.0.3
3306
MGR集群
slave1
172.17.0.4
3306
slave2
172.17.0.3
3306
slave3
172.17.0.6
3306
MGR部署为多主, 检查集群状态
mgr其中一个节点运行sql 脚本,在sys库中建立function,地址如下:
https://github.com/zhishutech/mysql_gr_routing_check
USE sys;
DELIMITER $$
CREATE FUNCTION IFZERO(a INT, b INT)
RETURNS INT
DETERMINISTIC
RETURN IF(a= 0, b, a)$$
CREATE FUNCTION LOCATE2(needle TEXT(10000), haystack TEXT(10000), offset INT)
RETURNS INT
DETERMINISTIC
RETURN IFZERO(LOCATE(needle, haystack, offset), LENGTH(haystack)+ 1)$$
CREATE FUNCTION GTID_NORMALIZE(g TEXT(10000))
RETURNS TEXT(10000)
DETERMINISTIC
RETURN GTID_SUBTRACT(g,'')$$
CREATE FUNCTION GTID_COUNT(gtid_set TEXT(10000))
RETURNS INT
DETERMINISTIC
BEGIN
DECLARE result BIGINT DEFAULT0;
DECLARE colon_pos INT;
DECLARE next_dash_pos INT;
DECLARE next_colon_pos INT;
DECLARE next_comma_pos INT;
SET gtid_set=GTID_NORMALIZE(gtid_set);
SET colon_pos= LOCATE2(':', gtid_set, 1);
WHILE colon_pos!= LENGTH(gtid_set) + 1DO
SET next_dash_pos= LOCATE2('-', gtid_set, colon_