#!/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"