初始化游戏小组管理系统后端项目
- 基于 NestJS + TypeScript + MySQL + Redis 架构 - 完整的模块化设计(认证、用户、小组、游戏、预约等) - JWT 认证和 RBAC 权限控制系统 - Docker 容器化部署支持 - 添加 CLAUDE.md 项目开发指南 - 配置 .gitignore 忽略文件 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
86
setup-docker-mysql.sh
Normal file
86
setup-docker-mysql.sh
Normal file
@@ -0,0 +1,86 @@
|
||||
#!/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 ""
|
||||
Reference in New Issue
Block a user