docker-compose搭建mysql8.0主从
时间: 2023-10-05 19:14:10 浏览: 235
可以使用 Docker Compose 来搭建 MySQL 8.0 的主从复制。以下是一个示例的 `docker-compose.yml` 文件:
```yaml
version: '3'
services:
master:
image: mysql:8.0
restart: always
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: mydb
MYSQL_USER: user
MYSQL_PASSWORD: password
MYSQL_LOG_BIN: mysql-bin
volumes:
- ./master-data:/var/lib/mysql
ports:
- 3306:3306
slave:
image: mysql:8.0
restart: always
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: mydb
MYSQL_USER: user
MYSQL_PASSWORD: password
MYSQL_LOG_BIN: mysql-bin
MYSQL_MASTER_HOST: master
MYSQL_MASTER_PORT: 3306
MYSQL_MASTER_USER: user
MYSQL_MASTER_PASSWORD: password
volumes:
- ./slave-data:/var/lib/mysql
```
在这个示例中,我们定义了两个服务:`master` 和 `slave`。`master` 使用 MySQL 8.0 镜像,并设置了必要的环境变量和卷挂载,以便持久化数据。`slave` 同样使用 MySQL 8.0 镜像,并设置了与 `master` 相关的环境变量。
你可以将上述内容保存为 `docker-compose.yml` 文件,然后在命令行中执行以下命令启动服务:
```
docker-compose up -d
```
这将会启动两个容器,分别对应主库和从库。你可以通过访问 `localhost:3306` 来访问主库,使用 `localhost:3307` 来访问从库。
当容器启动后,你可以登录到主库中创建一个测试数据库,并向其中插入一些数据。然后,这些数据将会通过主从复制同步到从库中。
希望这个示例对你有所帮助!如果你有任何问题,请随时提问。
阅读全文