#!/bin/bash echo "==========================================" echo "GameGroup BE - Docker MySQL 安装脚本" echo "==========================================" echo "" # 步骤 1: 将当前用户添加到 docker 组 echo "📝 步骤 1/4: 配置 Docker 用户权限..." echo "需要 sudo 权限来将用户添加到 docker 组" echo "" sudo usermod -aG docker $USER echo "✓ 用户已添加到 docker 组" echo "" # 步骤 2: 重新加载组权限 echo "📝 步骤 2/4: 重新加载用户组..." echo "执行: newgrp docker" echo "" echo "注意:您需要重新登录或执行以下命令来使组权限生效:" echo " newgrp docker" echo "或者" echo " su - $USER" echo "" # 步骤 3: 停止可能存在的旧容器 echo "📝 步骤 3/4: 清理旧容器(如果存在)..." docker stop gamegroup-mysql 2>/dev/null || echo " 没有运行中的 MySQL 容器" docker rm gamegroup-mysql 2>/dev/null || echo " 没有旧的 MySQL 容器" echo "" # 步骤 4: 启动 MySQL 容器 echo "📝 步骤 4/4: 启动 MySQL Docker 容器..." echo "" 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 初始化(约 10-15 秒)..." sleep 15 # 检查容器状态 echo "" echo "📊 容器状态:" docker ps -a | grep gamegroup-mysql echo "" echo "📋 查看容器日志(如果有错误):" docker logs gamegroup-mysql 2>&1 | tail -20 echo "" echo "==========================================" echo "✅ 安装完成!" echo "==========================================" echo "" echo "测试连接:" echo " docker exec -it gamegroup-mysql mysql -u gamegroup -pgamegroup123 -e 'SHOW DATABASES;'" echo "" echo "查看日志:" echo " docker logs -f gamegroup-mysql" echo "" echo "停止容器:" echo " docker stop gamegroup-mysql" echo "" echo "启动容器:" echo " docker start gamegroup-mysql" echo ""