MySQL
假设有如下服务器用于设置 MySQL 主从:
- MySQL 服务器:
192.168.1.4
用于作为主库(以下简称 MySQL Master) - MySQL 服务器:
192.168.1.5
用于作为从库(以下简称 MySQL Slave)
#
1. 配置 MySQL Master登录 MySQL Master 192.168.1.4 并切换至工作目录
cd /data/tencent-survey-v22.10.1-amd64
修改 docker-compose-pass.yaml
文件,services
部分仅保留以下配置
services: mysql-server: privileged: ${PRIVILEGED} networks: - wj-net restart: always image: "${IMAGE_MYSQL}" container_name: mysql-server volumes: # Config #- ./etc/mysql/my.cnf:/etc/mysql/conf.d/my.cnf - ./etc/mysql/my.cnf:/etc/my.cnf # Data - ./var/lib/mysql/:/var/lib/mysql/ environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} TZ: Asia/Shanghai command: --default-authentication-plugin=mysql_native_password ports: - 3306:3306 healthcheck: test: ["CMD", "mysqladmin", "-h", "localhost", "-p$MYSQL_ROOT_PASSWORD", "ping"] timeout: 20s retries: 10
#
2. 配置 MySQL Slave登录 MySQL Slave 192.168.1.5 并切换至工作目录
cd /data/tencent-survey-v22.10.1-amd64
修改 docker-compose-pass.yaml
文件,services
部分仅保留以下配置
services: mysql-server: privileged: ${PRIVILEGED} networks: - wj-net restart: always image: "${IMAGE_MYSQL}" container_name: mysql-server volumes: # Config #- ./etc/mysql/my.cnf:/etc/mysql/conf.d/my.cnf - ./etc/mysql/my.cnf:/etc/my.cnf # Data - ./var/lib/mysql/:/var/lib/mysql/ environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} TZ: Asia/Shanghai command: --default-authentication-plugin=mysql_native_password ports: - 3306:3306 healthcheck: test: ["CMD", "mysqladmin", "-h", "localhost", "-p$MYSQL_ROOT_PASSWORD", "ping"] timeout: 20s retries: 10
#
3. 启动 MySQL SlaveTODO
#
4. 修改数据库连接地址登录所有应用服务器并切换至工作目录,修改 .env
中以下配置为 MySQL Master 的实际连接信息:
MAIN_HOST=mysql-server:3306MAIN_DATABASE=ur_mainMAIN_USERNAME=rootMAIN_PASSWORD=$MYSQL_ROOT_PASSWORD
# answer shard1DB2_HOST=mysql-server:3306DB2_DATABASE=new_urDB2_USERNAME=rootDB2_PASSWORD=$MYSQL_ROOT_PASSWORD
# answer shard2DB3_HOST=mysql-server:3306DB3_DATABASE=new_urDB3_USERNAME=rootDB3_PASSWORD=$MYSQL_ROOT_PASSWORD
# answer shard3DB6_HOST=mysql-server:3306DB6_DATABASE=new_urDB6_USERNAME=rootDB6_PASSWORD=$MYSQL_ROOT_PASSWORD
# answer shard4DB7_HOST=mysql-server:3306DB7_DATABASE=new_urDB7_USERNAME=rootDB7_PASSWORD=$MYSQL_ROOT_PASSWORD
注意,需要在所有应用服务器中重复执行
修改完成后,使用以下命令重启所有应用服务:
docker compose -f docker-compose.yaml restart