在Docker中部署MySQL集群可以使用Docker Compose来管理多个MySQL容器,并使用MySQL Router来实现负载均衡和故障转移。以下是一个简单的示例:
docker-compose.yml
的文件,并在其中定义MySQL主从集群的服务。示例配置如下:version: '3.7'
services:
master:
image: mysql:latest
restart: always
environment:
MYSQL_ROOT_PASSWORD: password
ports:
- "3306:3306"
networks:
- my_network
slave:
image: mysql:latest
restart: always
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_MASTER_HOST: master
MYSQL_MASTER_PORT: 3306
networks:
- my_network
networks:
my_network:
driver: bridge
使用docker-compose up -d
命令启动MySQL主从容器。
安装MySQL Router,并创建一个名为mysqlrouter.conf
的配置文件来连接MySQL主从集群。示例配置如下:
[routing]
bind_address = 0.0.0.0
bind_port = 7001
[metadata_cache:percona]
auto_refresh = 2000
cache_ttl = 3600
[destinations]
default_rw_route = master
master = {
address = master:3306
}
mysql_replication_hostgroups = master
mysqlrouter -c mysqlrouter.conf
命令启动MySQL Router。现在,您已经在Docker中成功部署了一个MySQL主从集群,并使用MySQL Router实现了负载均衡和故障转移。您可以通过连接到MySQL Router的端口来访问集群,并测试其功能。