Docker-Compose实现Mysql主从
我从cnaaa.com购买了云服务器。
1. 简介
通过使用docker-compose
搭建一个主从数据库,本示例为了解耦 将两个server拆分到了两个compose文件中,当然也可以放到一个compose文件中
演示mysql版本:5.7.16
2. 部署流程
master节点:
- 安装mysql-server
- 修改配置
- 创建用于同步的账号并授权
- 检查相关配置
slave节点:
- 安装mysql-server
- 修改配置
- 选择主节点
- 检查相关配置并验证同步功能
3. master节点
3.1 安装mysql
-
创建mysql文件夹并进入文件夹(文件夹名称mysql)
-
创建docker-compose文件内容如下
# docker-compose.yml version: '3' services: mysql: restart: "no" image: mysql:5.7.16 container_name: mysql-master volumes: - ./datadir:/var/lib/mysql - ./conf/mysql:/etc/mysql environment: - "MYSQL_ROOT_PASSWORD=123456" - "TZ=Asia/Shanghai" ports: - 3306:3306 networks: - mysql-net networks: mysql-net: driver: bridge
注意:因为要把配置文件挂在到服务中去,所以要先把容器中的配置文件copy到宿主机上
-
先启动一个用于copy文件的容器
$ docker run --name mysql-temp -e MYSQL_ROOT_PASSWORD=root --rm -d mysql:5.7.16
-
将
mysql-temp
-