1.使用 docker search mysql 命令來查看可用版本:
$ docker search mysql
2.使用 docker pull mysql:5.7 命令來拉取可用版本:
docker pull mysql:5.7
3.使用 docker images 命令來查看下載的鏡像:
$ docker images
4.採用掛載方式運行容器
master 主
docker run -p 3307:3306 --name mastermysql -e MYSQL_ROOT_PASSWORD=123456 -v /Users/jiajie/dockerapp/mysql/master/mysql/my.cnf:/etc/mysql/my.cnf -d mysql:5.7
slave 從
docker run -p 3308:3306 --name slavemysql -e MYSQL_ROOT_PASSWORD=123456 -v /Users/jiajie/dockerapp/mysql/slave/mysql/my.cnf:/etc/mysql/my.cnf -d mysql:5.7
運行結果
4.配置主從複製
進入本地掛載文件
修改增加 vi /master/my.cnf
[mysqld]
## 同一局域網內注意要唯一
server-id=100
## 開啓二進制日誌功能,可以隨便取(關鍵)
log-bin=mysql-bin
修改增加 vi /slave/my.cnf
[mysqld]
## 設置從服務器server_id,注意要唯一
server-id=101
## 日誌文件同步方式
log-bin=mysql-bin
## 開啓二進制日誌功能,以備Slave作爲其它Slave的Master時使用
##log-bin=mysql-slave-bin
## relay_log配置中繼日誌
##relay_log=edu-mysql-relay-bin
#同步數據庫
binlog_do_db=test_db
4.重啓
docker stop 121ba927ad4c
docker stop 138c072ab751
docker start 121ba927ad4c
docker start 138c072ab751
5.驗證
master
#查詢配置的server_id
SHOW VARIABLES LIKE '%server_id%';
#查詢主的二進制執行文件
SHOW master status;
進入slave容器中
docker exec -it 121ba927ad4c /bin/bash
#進入mysql mysq -uroot -p
mysql> change master to master_host='172.17.0.2', master_user='root', master_password='123456', master_port=3306, master_log_file='mysql-bin.000003', master_log_pos= 345
#開始同步
mysql> start slave
檢查從服務器複製功能狀態
SHOW SLAVE STATUS
創建test_db