在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_networknetworks: my_network: driver: bridge使用docker-compose up -d命令启动MySQL主从容器。
安装MySQL Router,并创建一个名为mysqlrouter.conf的配置文件来连接MySQL主从集群。示例配置如下:
[routing]bind_address = 0.0.0.0bind_port = 7001[metadata_cache:percona]auto_refresh = 2000cache_ttl = 3600[destinations]default_rw_route = mastermaster = { address = master:3306}mysql_replication_hostgroups = master使用mysqlrouter -c mysqlrouter.conf命令启动MySQL Router。现在,您已经在Docker中成功部署了一个MySQL主从集群,并使用MySQL Router实现了负载均衡和故障转移。您可以通过连接到MySQL Router的端口来访问集群,并测试其功能。




