Files
gamegroup/start-mysql.sh

51 lines
1.3 KiB
Bash
Raw Permalink Normal View History

#!/bin/bash
echo "=========================================="
echo "启动 MySQL Docker 容器"
echo "=========================================="
echo ""
# 停止并删除旧容器
echo "清理旧容器..."
docker stop gamegroup-mysql 2>/dev/null || true
docker rm gamegroup-mysql 2>/dev/null || true
# 启动新容器
echo "启动 MySQL 容器..."
docker run -d \
--name gamegroup-mysql \
--restart always \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=root \
-e MYSQL_DATABASE=gamegroup \
-e MYSQL_USER=gamegroup \
-e MYSQL_PASSWORD=gamegroup123 \
-v gamegroup-mysql-data:/var/lib/mysql \
-v "$(pwd)/database/init.sql:/docker-entrypoint-initdb.d/init.sql" \
mysql:8.0 \
--default-authentication-plugin=mysql_native_password \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci
echo ""
echo "✓ MySQL 容器已启动"
echo ""
# 等待 MySQL 启动
echo "⏳ 等待 MySQL 初始化..."
sleep 15
echo ""
echo "容器状态:"
docker ps | grep gamegroup-mysql
echo ""
echo "测试数据库连接..."
sleep 5
docker exec gamegroup-mysql mysql -u gamegroup -pgamegroup123 -e "SHOW DATABASES;" 2>/dev/null && echo "✅ 连接成功!" || echo "❌ 连接失败,请查看日志"
echo ""
echo "如需查看日志,执行:"
echo " docker logs gamegroup-mysql"