1.安装docker及docker-compose
2.写docker-compose.yml
version: '3'
services:
db_master:
image: mysql:latest
restart: always
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_DATABASE: my_test
volumes:
- ./master_data:/data/mysql
ports:
- 3306:3306
command: --server-id=1 --log-bin=mysql-bin --binlog-do-db=my_test
db_slave:
image: mysql:latest
restart: always
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_DATABASE: my_test
MYSQL_MASTER_HOST: db_master
MYSQL_MASTER_USER: root
MYSQL_MASTER_PASSWORD: 123456
MYSQL_MASTER_PORT: 3306
volumes:
- ./slave_data:/data/mysql
ports:
- 13306:3306
command: --server-id=2 --log-bin=mysql-bin --binlog-do-db=my_test
执行命令:docker-compose up -d
观察主库日志: docker logs -f xxx
3.执行对应命令,在mysql客户端进行观察
等主从服务器都启动成功后,执行主从同步命令
1.登录主数据库
docker exec -it root_db_master_1 mysql -uroot -p123456
show master status;
2.登录从数据库
docker exec -it root_db_slave_1 mysql -uroot -p123456
按步骤执行一下命令:
1.STOP SLAVE;
2.CHANGE MASTER TO MASTER_HOST='主机ip', MASTER_PORT=3306, MASTER_USER='root', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=5176;
3.START SLAVE;
注意:MASTER_LOG_FILE 是对应上图的字段File,MASTER_LOG_POS对应上图的字段Position
观察从服务器已经开始同步状态:
SHOW SLAVE STATUS\G