init_mgr3.sh 930 B

12345678910111213141516171819202122232425262728293031
  1. #!/bin/bash
  2. CONTAINER_NAME="mysql80-3"
  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 -pRoot_123456 -e "
  20. START GROUP_REPLICATION USER='${MGR_USER}', PASSWORD='${MGR_PASS}';
  21. "
  22. # 查看集群状态
  23. echo "----------------------------------------"
  24. docker exec -i ${CONTAINER_NAME} mysql -uroot -pRoot_123456 -e "
  25. SELECT * FROM performance_schema.replication_group_members;
  26. "