docker-compose構建mysql主從複製集羣
docker-compose構建 mysql 主從複製(讀寫分離)集羣
MySQL master-slave replication with using Docker.
源碼在github上:
https://github.com/docker-box...
運行
git clone https://github.com/docker-box/mysql-cluster.git
cd mysql-cluster
./build.sh
可以在build.sh
內自定義對應參數提示: 運行前需要確保安裝了docker和docker-compose,具體安裝方法請參考官網
如果想手動安裝, 則可以按照
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 exec mysql_slave2 sh -c "export MYSQL_PWD=111; mysql -u root mydb -e 'select * from code \G'"
如果前邊的安裝正確的話, 就可以看到第一步插入的兩條數據了
相關命令
查看docker-compose運行日誌
docker-compose logs
查看運行的docker容器
docker-compose ps
查看主庫運行狀態
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 mysql_slave2 sh -c 'mysql -u root -p111 -e "SHOW SLAVE STATUS \G"'
進入主庫
docker exec -it mysql_master bash
進入從庫
docker exec -it mysql_slave bash
docker exec -it mysql_slave2 bash