# MySQL-Cluster **Repository Path**: kingflag/MySQL-Cluster ## Basic Information - **Project Name**: MySQL-Cluster - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-31 - **Last Updated**: 2025-06-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MySQL-Cluster ## pull docker image fetch MySQL docker image ```bash docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql:8.4 docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql:8.4 docker.io/mysql:8.4 ``` ## start mysql cluster ```bash docker-compose up -d ``` ## create user for mysql cluster to copy data ```bash docker exec -it mysql1 mysql -uroot -proot -e " CREATE USER 'repl_user'@'%' IDENTIFIED BY 'repl_password'; GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%'; FLUSH PRIVILEGES; " docker exec -it mysql2 mysql -uroot -proot -e " CREATE USER 'repl_user'@'%' IDENTIFIED BY 'repl_password'; GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%'; FLUSH PRIVILEGES; " ``` ## config master and slave relationship ### in node1 ```bash docker exec -it mysql1 mysql -uroot -proot -e " CHANGE MASTER TO MASTER_HOST='192.168.1.102', MASTER_USER='repl_user', MASTER_PASSWORD='repl_password', MASTER_AUTO_POSITION=1 FOR CHANNEL 'master2'; START SLAVE FOR CHANNEL 'master2'; " ``` ### in node2 ```bash docker exec -it mysql2 mysql -uroot -proot -e " CHANGE MASTER TO MASTER_HOST='192.168.1.101', MASTER_USER='repl_user', MASTER_PASSWORD='repl_password', MASTER_AUTO_POSITION=1 FOR CHANNEL 'master1'; START SLAVE FOR CHANNEL 'master1'; " ``` ## check status ```bash # check status in node1 docker exec -it mysql1 mysql -uroot -proot -e "SHOW SLAVE STATUS\G" # check status in node2 docker exec -it mysql2 mysql -uroot -proot -e "SHOW SLAVE STATUS\G" ```