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
同步成功,有空再细写。