init_mgr1.sh 1019 B

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