1. 拉取镜像
docker pull mysql:5.7.21
2. 运行这个镜像
docker run -d --name maser mysql:5.7.21
3. 安装一些必要的软件
docker exec -it master /bin/bash apt-get update apt-get install vim 安装必要的软件
4. 生成一个带vim编辑器的mysql images
docker commit master mysqlwithvim:20180822
5.创建部分目录
mkdir /mysqlcd mysqlmkdir master/datamkdir slave/data 创建master和slave 的部分配置文件 vim my.cnf 内容为: [mysqld] log-bin=mysql-bin server-id=100 slave的配置文件为 [mysqld] server-id=200
6. 启动两个container
docker rm -f masterdocker run -d --name master -p 3307:3306 -e MYSQL_ROOT_PASSWORD='Test6530' mysqlwithvim:20180822
docker run -d --name slave -e MYSQL_ROOT_PASSWORD='Test6530' mysqlwithvim:20180822
7. 进入 master 容器进行设置
docker exec -it master /bin/bash #输入 mysql -u root -p #输入密码 Test6530 #创建同步用户。 CREATE USER 'zhaobsh'@'%' IDENTIFIED BY 'Test6530'; #增加权限 GRANT REPLICATION SLAVE ON *.* TO 'zhaobsh'@'%'; GRANT ALL ON *.* TO 'zhaobsh'@'%'; flush privileges; #查看数据库的状态 show master status; 结果为:
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |+------------------+----------+--------------+------------------+-------------------+| mysql-bin.000003 | 949 | | | |+------------------+----------+--------------+------------------+-------------------+查看ip地址 vi /etc/hosts
8. 进入slave容器进行处理。
docker exec -it slave /bin/bash#输入mysql -u root -p#输入密码 Test6530 CHANGE MASTER TO MASTER_HOST='172.17.0.2', MASTER_USER='zhaobsh', MASTER_PASSWORD='Test6530', MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=949; #跟上面的查询结果对应.
9. 查看slave 的状态
在mysql 下面执行start slave;show slave status\G
10. 报错如图示
这里需要改改 重启一下 master和 slave 貌似 之前的 my.conf 没生效
重启一下 应该就可以了
测试同步
master 创建一个数据库
slave 在前后查看 能够同步
study From
https://blog.csdn.net/boling_cavalry/article/details/79751085