配置docker-compose.yml文件完成一键部署MySQL主从
时间: 2024-12-24 16:39:30 浏览: 4
docker-compose yml配置lnmt环境
配置Docker Compose YAML文件用于一键部署MySQL主从复制集群,需要以下几个步骤:
1. **创建YAML文件**: 创建一个名为 `docker-compose.yml` 的文件,通常放在项目的根目录下。这个文件将包含所有服务的配置信息。
```yaml
version: '3'
services:
mysql-master:
image: mysql:5.7
restart: always
environment:
MYSQL_ROOT_PASSWORD: my_root_password
MYSQL_DATABASE: my_database
volumes:
- ./data/master:/var/lib/mysql
mysql-slave:
image: mysql:5.7
restart: always
depends_on:
- mysql-master
environment:
MYSQL_ROOT_PASSWORD: my_root_password
MYSQL_DATABASE: my_database
MYSQL_USER: slave_user
MYSQL_PASSWORD: slave_password
MYSQL_SERVER_ID: 2 # 设定从服务器ID,主为1,这里设为2
MYSQL_MASTER_HOST: mysql-master # 主库的主机名,如果在同一个网络内,可以省略
volumes:
data:
```
2. **环境变量设置**: 设置数据库相关的密码、数据库名称以及主从之间的连接信息。`MYSQL_ROOT_PASSWORD`是root用户的密码,`MYSQL_USER`和`MYSQL_PASSWORD`是slave用户的凭据。
3. **服务依赖**:在`mysql-slave`服务中添加`depends_on`,指定它在`mysql-master`启动后开始运行。
4. **数据卷**: 使用`volumes`部分创建一个持久化的数据卷,如`data:`,用于存储数据库数据。`./data/master`表示在本地挂载目录`./data`下的`master`文件夹。
5. **设置MySQL配置**: 对于主从复制,需要在`mysql-slave`服务的环境中设置`MYSQL_SERVER_ID`和`MYSQL_MASTER_HOST`。
6. **启动和管理**: 运行`docker-compose up -d`命令启动服务,并使用`docker-compose down`停止并清理它们。
阅读全文