操作日志
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
set -e
|
||||
|
||||
# 自动创建 external 数据卷(首次部署时)
|
||||
for vol in changzhou_mysql_data; do
|
||||
for vol in henan_mysql_data; do
|
||||
docker volume inspect "$vol" >/dev/null 2>&1 || docker volume create "$vol" >/dev/null
|
||||
done
|
||||
|
||||
|
||||
@@ -7,13 +7,13 @@ services:
|
||||
args:
|
||||
MYSQL_BASE_IMAGE: mysql:8.0.24
|
||||
MYSQL_CONF: my.cnf.16c32g
|
||||
container_name: mysql_db
|
||||
container_name: henan_mysql_db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
TZ: Asia/Shanghai
|
||||
MYSQL_ROOT_PASSWORD: 123456
|
||||
MYSQL_DATABASE: changzhou
|
||||
MYSQL_USER: changzhou
|
||||
MYSQL_DATABASE: henan
|
||||
MYSQL_USER: henan
|
||||
MYSQL_PASSWORD: iTSJSPPZM3LSGAPC
|
||||
ports:
|
||||
- "127.0.0.1:23306:3306"
|
||||
@@ -31,12 +31,12 @@ services:
|
||||
retries: 5
|
||||
start_period: 30s
|
||||
networks:
|
||||
- changzhou_app_network
|
||||
- henan_app_network
|
||||
|
||||
# Redis 服务
|
||||
redis:
|
||||
image: redis:latest
|
||||
container_name: redis_cache
|
||||
container_name: henan_redis_cache
|
||||
restart: unless-stopped
|
||||
command: redis-server /usr/local/etc/redis/redis.conf
|
||||
ports:
|
||||
@@ -47,12 +47,12 @@ services:
|
||||
max-size: "50m"
|
||||
max-file: "3"
|
||||
networks:
|
||||
- changzhou_app_network
|
||||
- henan_app_network
|
||||
|
||||
# RabbitMQ 3.9 服务
|
||||
rabbitmq:
|
||||
image: rabbitmq:3.9-management
|
||||
container_name: rabbitmq_server
|
||||
container_name: henan_rabbitmq_server
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
RABBITMQ_DEFAULT_USER: skins
|
||||
@@ -75,15 +75,15 @@ services:
|
||||
max-size: "50m"
|
||||
max-file: "3"
|
||||
networks:
|
||||
- changzhou_app_network
|
||||
- henan_app_network
|
||||
|
||||
# 定义数据卷(external 固定卷名,不随目录变化,防止换目录丢数据)
|
||||
volumes:
|
||||
mysql_data:
|
||||
external: true
|
||||
name: changzhou_mysql_data
|
||||
name: henan_mysql_data
|
||||
|
||||
# 定义网络
|
||||
networks:
|
||||
changzhou_app_network:
|
||||
henan_app_network:
|
||||
driver: bridge
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
#!/bin/bash
|
||||
# MySQL 数据卷迁移脚本
|
||||
# 将旧自动命名卷的数据复制到 external 卷 changzhou_mysql_data
|
||||
# 将旧自动命名卷的数据复制到 external 卷 henan_mysql_data
|
||||
# 用法:bash migrate-mysql-volume.sh [旧卷名]
|
||||
# 不传参数时自动检测 docker_changzhou_mysql_data 和 docker-cn_changzhou_mysql_data
|
||||
# 不传参数时自动检测 docker_henan_mysql_data 和 docker-cn_henan_mysql_data
|
||||
|
||||
set -e
|
||||
|
||||
NEW_VOL="changzhou_mysql_data"
|
||||
NEW_VOL="henan_mysql_data"
|
||||
IMAGE="mysql:8.0.24"
|
||||
|
||||
# 自动检测旧卷名
|
||||
if [ -n "$1" ]; then
|
||||
OLD_VOL="$1"
|
||||
else
|
||||
for candidate in docker_changzhou_mysql_data docker-cn_changzhou_mysql_data; do
|
||||
for candidate in docker_henan_mysql_data docker-cn_henan_mysql_data; do
|
||||
if docker volume inspect "$candidate" >/dev/null 2>&1; then
|
||||
OLD_VOL="$candidate"
|
||||
break
|
||||
@@ -39,9 +39,9 @@ OLD_SIZE=$(docker run --rm -v "${OLD_VOL}:/data" "$IMAGE" sh -c "du -sh /data" 2
|
||||
echo "旧卷 $OLD_VOL 数据量: $OLD_SIZE"
|
||||
|
||||
# 停掉 MySQL 容器(如果在运行)
|
||||
if docker inspect mysql_db >/dev/null 2>&1; then
|
||||
if docker inspect henan_mysql_db >/dev/null 2>&1; then
|
||||
echo "停止 MySQL 容器..."
|
||||
docker stop mysql_db 2>/dev/null || true
|
||||
docker stop henan_mysql_db 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# 清空新卷(避免数据叠加)
|
||||
|
||||
Reference in New Issue
Block a user