1.說明
1.mysql鏡像版本5.7
2.創(chuàng)建測試目錄
mkdir /docker/mysql
3.切換到測試目錄
cd /docker/mysql
4.創(chuàng)建數(shù)據(jù)目錄
mkdir log data conf
5.啟動容器
docker run --name m1 -p 3307:3306 -v /docker/mysql/data:/var/lib/mysql -v /docker/mysql/log:/var/log/mysql -v /docker/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

主機容器創(chuàng)建成功.png
6.創(chuàng)建配置文件
cd /docker/mysql/conf && vi my.cnf
[mysqld]
server_id=101
binlog-ignore-db=mysql
log-bin=mall-mysql-bin
binlog_cache_size=1M
binlog_format=mixed
expire_logs_days=7
slave_skip_errors=1062
7.重啟服務(wù)
docker restart m1
8.進入容器
docker exec -it m1 /bin/bash
mysql -u root -p

主機登錄成功.png
9.創(chuàng)建同步賬戶
create user 'slave'@'%' identified by '123456';
grant replication slave , replication client on *.* to 'slave'@'%';

創(chuàng)建同步賬戶.png
10.創(chuàng)建從服務(wù)測試目錄
mkdir /docker/mysql1
11.切換到從服務(wù)測試目錄
cd /docker/mysql1
12.創(chuàng)建從服務(wù)數(shù)據(jù)目錄
mkdir log data conf
13.啟動從服務(wù)容器
docker run --name m2 -p 3308:3306 -v /docker/mysql1/data:/var/lib/mysql -v /docker/mysql1/log:/var/log/mysql -v /docker/mysql1/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

創(chuàng)建從服務(wù)器容器.png
14.編輯從服務(wù)配置
cd /docker/mysql1/conf && vi my.cnf
[mysqld]
server_id=102
binlog-ignore-db=mysql
log-bin=mall-mysql-bin
binlog_cache_size=1M
binlog_format=mixed
expire_logs_days=7
slave_skip_errors=1062
relay_log=mall-mysql-relay-bin
log_slave_updates=1
read_only=1
15.重啟從服務(wù)
docker restart m2
16.登錄主服務(wù)查看狀態(tài)
show master status

查看主庫狀態(tài).png
17.獲取宿主機ip
ifconfig
18.登錄從服務(wù)配置主從
18.1連接主庫
change master to master_host='172.29.87.167', master_user='slave', master_password='123456', master_port=3307,master_log_file='mall-mysql-bin.000001',master_log_pos=617,master_connect_retry=30;
18.2查看主從狀態(tài)
show slave status

從庫連接主庫.png
18.3開啟主從
start slave

開啟從庫同步.png