Docker-Compose实现MySQL之主从复制
以下是一个简化的docker-compose.yml
文件示例,用于部署MySQL主从复制:
version: '3'
services:
mysql-master:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_REPLICATION_MODE: master
MYSQL_REPLICATION_USER: repl
MYSQL_REPLICATION_PASSWORD: password
command: --server-id=1 --log-bin=mysql-bin --expire_logs_days=10
ports:
- "3306:3306"
mysql-slave:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_REPLICATION_MODE: slave
MYSQL_REPLICATION_USER: repl
MYSQL_REPLICATION_PASSWORD: password
MYSQL_MASTER_PORT: 3306
depends_on:
- mysql-master
command: --server-id=2 --log-bin=mysql-bin --expire_logs_days=10 --read-only=1
ports:
- "3307:3306"
在这个配置中,mysql-master
服务是主MySQL服务器,而mysql-slave
服务是从服务器。它们分别通过不同的端口暴露,例如主服务器通过3306端口,从服务器通过3307端口。从服务器配置了depends_on
来确保它会在主服务器之后启动,并且会尝试连接到主服务器进行复制。
确保你有Docker和Docker Compose安装好并且可以运行。然后在含有这个docker-compose.yml
文件的目录中运行以下命令来启动服务:
docker-compose up -d
这将以守护进程模式启动服务。要停止服务,可以使用:
docker-compose down
这样就可以设置一个简单的MySQL主从复制环境了。
评论已关闭