MySQL 8.0 master-slave replication with using Docker.
To run this examples you will need to start containers with "docker-compose" and after starting setup replication. See commands inside ./build.sh.
./build.sh
docker exec mysql_master sh -c "export MYSQL_PWD=111; mysql -u root mydb -e 'create table code(code int); insert into code values (100), (200)'"
docker exec mysql_slave sh -c "export MYSQL_PWD=111; mysql -u root mydb -e 'select * from code \G'"
docker-compose logs
Go through "build.sh" and run command step-by-step.
docker-compose ps
rm -rf ./master/data/*
rm -rf ./slave/data/*
docker exec mysql_master sh -c 'mysql -u root -p111 -e "SHOW MASTER STATUS \G"'
docker exec mysql_slave sh -c 'mysql -u root -p111 -e "SHOW SLAVE STATUS \G"'
docker exec -it mysql_master bash
docker exec -it mysql_slave bash
docker-compose restart
- Go to the browser and enter the just
localhost
- The ingnix server will redirect the default localhost 80 to the wordpress 1 site
- Now for testing, down the wordpress1 container using below command, in this way the wordpress2 will activate and the data is synchronised.
-
docker stop wordpress1
- Now again run the localhost
- And check out the logs so it will show the wordpress2 will be activated
-
docker logs wordpress2