docker拉取鏡像
docker pull mysql
運行master服務器
docker run -d -e MYSQL_ROOT_PASSWORD=123456 --privileged=true --name masterMysql -v /usr/local/docker/mysql/master/conf:/etc/mysql -v /usr/local/docker/mysql/master/data:/var/lib/mysql -v /usr/local/docker/mysql/master/mysql-files:/var/lib/mysql-files -p 3308:3306 mysql:8.0
運行slave服務器
docker run -d -e MYSQL_ROOT_PASSWORD=123456 --privileged=true --name slaveMysql -v /usr/local/docker/mysql/slave/conf:/etc/mysql -v /usr/local/docker/mysql/slave/data:/var/lib/mysql -v /usr/local/docker/mysql/slave/mysql-files:/var/lib/mysql-files -p 3309:3306 mysql:8.0
配置master mysql
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv= NULL
server-id = 1
log-bin = master-bin
character-set-server=UTF8MB4
default-storage-engine=INNODB
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Custom config should go here
!includedir /etc/mysql/conf.d/
[mysql]
default-character-set=UTF8MB4
配置slave mysql
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv= NULL
server-id = 2
skip-log-bin # slave關閉命令日誌 減少延時
relay-log = slave-relay-bin
log-slave-updates = 1
read-only = 1
character-set-server=UTF8MB4
default-storage-engine=INNODB
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Custom config should go here
!includedir /etc/mysql/conf.d/
[mysql]
default-character-set=UTF8MB4
查看並進入容器
docker ps -a
dpcker exec -it masterMysql bash
再開啓個終端運行
docker exec -it slaveMysql bash
進入mysql shell
mysql -uroot -p123456
master服務器執行
slave服務器執行
change master to master_host = '172.17.0.2', master_user = 'root', master_password = '123456', master_log_file = 'master-bin.000003',master_log_pos = 155;
start slave
show slave satus\G
同步成功,有空再細寫。