基于docker的mysql主从配置

目的

备份数据, 主库挂了从库依然可以访问

使用 docker 生成镜像

本文默认为已安装 docker 环境, ubuntu 环境

1
2
3
4
5
在本机上安装mysql5.7版本
sudo docker pull mysql:5.7

# code 在code目录下创建mysql/master和mysql/slave目录
mkdir -p mysql/{master,slave}

然后在 master 和 slave 目录中写入配置文件Dockerfilemy.cnf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# master/Dockerfile和slave/Dockerfile
FROM mysql:5.7
COPY my.cnf /etc/mysql/
EXPOSE 3306
CMD ["mysqld"]

# master/my.cnf, 主库和从库的server-id不能相同
[mysqld]
log-bin=mysql-bin
server-id=1

# slave/my.cnf
log-bin=mysql-bin
server-id=2

分别在目录中执行以下命令生成镜像

阅读更多