Skip to content

Instantly share code, notes, and snippets.

@Rahul91
Created January 1, 2022 13:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Rahul91/5c9360a0476fc995ed2658cf5ff6a990 to your computer and use it in GitHub Desktop.
Save Rahul91/5c9360a0476fc995ed2658cf5ff6a990 to your computer and use it in GitHub Desktop.
docker run -d --name=master --hostname=master \
-v $PWD/master:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=pass \
mysql/mysql-server:8.0 \
--server-id=1 \
--log-bin='mysql-bin-1.log'
docker run -d --link master --name=replica1 --hostname=replica1 \
-v $PWD/replica1:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=pass \
mysql/mysql-server:8.0 \
--server-id=2
docker run -d --network=bridge --name=replica2 --hostname=replica2 \
-v $PWD/replica2:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=pass \
mysql/mysql-server:8.0 \
--server-id=3
docker exec -it master mysql -uroot -ppass \
-e "CREATE USER 'replicationUser'@'%' IDENTIFIED WITH mysql_native_password BY 'replicationPass';" \
-e "GRANT REPLICATION SLAVE ON *.* TO 'replicationUser'@'%';" \
-e "SHOW MASTER STATUS\G;"
docker exec -it replica1 mysql -uroot -ppass \
-e "CHANGE MASTER TO MASTER_HOST='master', MASTER_USER='replicationUser', \
MASTER_PASSWORD='replicationPass', MASTER_LOG_FILE='mysql-bin-1.000005';"
-e "SHOW SLAVE STATUS\G;"
docker exec -it replica1 mysql -uroot -ppass \
-e "use mysql;" \
-e "select * from slave_master_info\G"
docker exec -it replica1 mysql -uroot -ppass \
-e "use mysql;" \
-e "select * from slave_relay_log_info\G"
docker exec -it master mysql -uroot -ppass \
-e "CREATE DATABASE TEST; SHOW DATABASES;"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment