init_mgr1.sh 989 B

1234567891011121314151617181920212223242526272829303132
  1. #!/bin/bash
  2. ROOT_PASS="Root_123456"
  3. MGR_USER="repl"
  4. MGR_PASS="Repl_123456"
  5. echo "正在准备节点 mysql80-1..."
  6. docker exec -i mysql80-1 mysql -uroot -p${ROOT_PASS} <<EOF
  7. STOP GROUP_REPLICATION;
  8. RESET MASTER;
  9. SET SQL_LOG_BIN=0;
  10. CREATE USER IF NOT EXISTS '${MGR_USER}'@'%' IDENTIFIED WITH mysql_native_password BY '${MGR_PASS}';
  11. GRANT REPLICATION SLAVE ON *.* TO '${MGR_USER}'@'%';
  12. GRANT BACKUP_ADMIN ON *.* TO '${MGR_USER}'@'%';
  13. FLUSH PRIVILEGES;
  14. SET SQL_LOG_BIN=1;
  15. EOF
  16. # 2. 引导主节点 (在 START 时直接传入凭证)
  17. echo ">>> 引导主节点 mysql80-1..."
  18. docker exec -i mysql80-1 mysql -uroot -p${ROOT_PASS} <<EOF
  19. SET GLOBAL group_replication_bootstrap_group=ON;
  20. START GROUP_REPLICATION USER='${MGR_USER}', PASSWORD='${MGR_PASS}';
  21. SET GLOBAL group_replication_bootstrap_group=OFF;
  22. EOF
  23. # 查看集群状态
  24. echo "----------------------------------------"
  25. docker exec -i mysql80-1 mysql -uroot -pRoot_123456 -e "
  26. SELECT * FROM performance_schema.replication_group_members;
  27. "