在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的端口來訪問集群,并測試其功能。