配置文件以及文档地址:mycat-rw
系统环境
- docker 1.12.3
- mysql5.7.17
- deepin 15.3桌面版(这个没啥影响,因为我们用docker)
- 原文地址:Docker Compose搭建mysql主从复制
要点说明
- 使用
docker bridge
网络,设置静态IP - 使用
volumes
挂载,不使用数据卷容器(因为我使用docker compose
没搞成功 - -!) - 镜像使用
build
创建(保留扩展性),不使用image
- 目前为止,没有暴露端口号,只是两个
slave
link了master
.马上着手研究使用mycat完成mysql的主从复制+读写分离,敬请期待. - 挂载
hosts
文件,以便于使用hostname
代替ip地址
Begin
docker-engine
安装
这个直接参考官方文档吧.debian下安装docker-engine
docker-compose
安装
拉取mysql:5.7.17
镜像
docker pull mysql:5.7.17
需要挂载的配置文件
目录结构
直接上图:
简要说明
- mysql-master: 存放master配置文件
- mysql-s1: 存放第一个slave配置文件
- mysql-s2: 存放第二个slave配置文件
- hosts: 本地路由
mysql-master的配置
没多少东西,只有一个mysqld.cnf
需要在末尾追加:
#表名不区分大小写
lower_case_table_names=1
#给数据库服务的唯一标识,一般为大家设置服务器Ip的末尾号
server-id=2
log-bin=master-bin
log-bin-index=master-bin.index
mysql-s1/mysql-s2的配置
跟master一样,也只有一个mysqld.cnf
需要在末尾追加:
server-id=3 #第一个用3,第二个用4
log-bin=s1-bin.log #第一个用s1-bin.log,第二个用s2-bin.log
sync_binlog=1
lower_case_table_names=1
hosts文件配置
127.0.0.1 localhost
172.18.0.2 m1
172.18.0.3 s1
172.18.0.4 s2
docker-compose配置文件和Dockerfile
目录结构
直接上图: