Explorar o código

update ha/mysql80

reghao hai 3 semanas
pai
achega
d7e7242b96
Modificáronse 4 ficheiros con 82 adicións e 2 borrados
  1. 2 2
      ha/mysql80/init_mgr.sh
  2. 32 0
      ha/mysql80/init_mgr1.sh
  3. 24 0
      ha/mysql80/init_mgr2.sh
  4. 24 0
      ha/mysql80/init_mgr3.sh

+ 2 - 2
ha/mysql80/init_mgr.sh

@@ -7,8 +7,8 @@ MGR_PASS="Repl_123456"
 echo ">>> 正在执行 MySQL 8.0.36 专用初始化流程 (绕过通道锁定)..."
 
 for i in 1 2 3; do
-    echo "正在准备节点 mysql80-$i..."
-    docker exec -i mysql80-$i mysql -uroot -p${ROOT_PASS} <<EOF
+echo "正在准备节点 mysql80-$i..."
+docker exec -i mysql80-$i mysql -uroot -p${ROOT_PASS} <<EOF
 STOP GROUP_REPLICATION;
 RESET MASTER;
 

+ 32 - 0
ha/mysql80/init_mgr1.sh

@@ -0,0 +1,32 @@
+#!/bin/bash
+
+ROOT_PASS="Root_123456"
+MGR_USER="repl"
+MGR_PASS="Repl_123456"
+
+echo "正在准备节点 mysql80-1..."
+docker exec -i mysql80-1 mysql -uroot -p${ROOT_PASS} <<EOF
+STOP GROUP_REPLICATION;
+RESET MASTER;
+
+SET SQL_LOG_BIN=0;
+CREATE USER IF NOT EXISTS '${MGR_USER}'@'%' IDENTIFIED WITH mysql_native_password BY '${MGR_PASS}';
+GRANT REPLICATION SLAVE ON *.* TO '${MGR_USER}'@'%';
+GRANT BACKUP_ADMIN ON *.* TO '${MGR_USER}'@'%';
+FLUSH PRIVILEGES;
+SET SQL_LOG_BIN=1;
+EOF
+
+# 2. 引导主节点 (在 START 时直接传入凭证)
+echo ">>> 引导主节点 mysql80-1..."
+docker exec -i mysql80-1 mysql -uroot -p${ROOT_PASS} <<EOF
+SET GLOBAL group_replication_bootstrap_group=ON;
+START GROUP_REPLICATION USER='${MGR_USER}', PASSWORD='${MGR_PASS}';
+SET GLOBAL group_replication_bootstrap_group=OFF;
+EOF
+
+# 查看集群状态
+echo "----------------------------------------"
+docker exec -i mysql80-1 mysql -uroot -pRoot_123456 -e "
+SELECT * FROM performance_schema.replication_group_members;
+"

+ 24 - 0
ha/mysql80/init_mgr2.sh

@@ -0,0 +1,24 @@
+#!/bin/bash
+
+ROOT_PASS="Root_123456"
+MGR_USER="repl"
+MGR_PASS="Repl_123456"
+
+echo "正在准备节点 mysql80-2..."
+docker exec -i mysql80-2 mysql -uroot -p${ROOT_PASS} <<EOF
+STOP GROUP_REPLICATION;
+RESET MASTER;
+
+SET SQL_LOG_BIN=0;
+CREATE USER IF NOT EXISTS '${MGR_USER}'@'%' IDENTIFIED WITH mysql_native_password BY '${MGR_PASS}';
+GRANT REPLICATION SLAVE ON *.* TO '${MGR_USER}'@'%';
+GRANT BACKUP_ADMIN ON *.* TO '${MGR_USER}'@'%';
+FLUSH PRIVILEGES;
+SET SQL_LOG_BIN=1;
+EOF
+
+# 3. 加入从节点 (同样在 START 时传入凭证)
+echo ">>> 加入从节点 mysql80-2..."
+docker exec -i mysql80-2 mysql -uroot -pRoot_123456 -e "
+  START GROUP_REPLICATION USER='${MGR_USER}', PASSWORD='${MGR_PASS}';
+"

+ 24 - 0
ha/mysql80/init_mgr3.sh

@@ -0,0 +1,24 @@
+#!/bin/bash
+
+ROOT_PASS="Root_123456"
+MGR_USER="repl"
+MGR_PASS="Repl_123456"
+
+echo "正在准备节点 mysql80-3..."
+docker exec -i mysql80-3 mysql -uroot -p${ROOT_PASS} <<EOF
+STOP GROUP_REPLICATION;
+RESET MASTER;
+
+SET SQL_LOG_BIN=0;
+CREATE USER IF NOT EXISTS '${MGR_USER}'@'%' IDENTIFIED WITH mysql_native_password BY '${MGR_PASS}';
+GRANT REPLICATION SLAVE ON *.* TO '${MGR_USER}'@'%';
+GRANT BACKUP_ADMIN ON *.* TO '${MGR_USER}'@'%';
+FLUSH PRIVILEGES;
+SET SQL_LOG_BIN=1;
+EOF
+
+# 3. 加入从节点 (同样在 START 时传入凭证)
+echo ">>> 加入从节点 mysql80-3..."
+docker exec -i mysql80-3 mysql -uroot -pRoot_123456 -e "
+  START GROUP_REPLICATION USER='${MGR_USER}', PASSWORD='${MGR_PASS}';
+"