Files
schoolNews/schoolNewsServ/.bin/mysql/init-database.sh
2025-10-15 10:39:51 +08:00

82 lines
2.2 KiB
Bash

#!/bin/bash
echo "====================================================="
echo "校园思政新闻平台数据库初始化脚本"
echo "====================================================="
echo ""
# 设置默认值
MYSQL_HOST="localhost"
MYSQL_PORT="3306"
MYSQL_USER="root"
MYSQL_PASSWORD=""
# 读取用户输入
read -p "MySQL主机地址 [默认: localhost]: " input_host
MYSQL_HOST=${input_host:-$MYSQL_HOST}
read -p "MySQL端口 [默认: 3306]: " input_port
MYSQL_PORT=${input_port:-$MYSQL_PORT}
read -p "MySQL用户名 [默认: root]: " input_user
MYSQL_USER=${input_user:-$MYSQL_USER}
read -sp "MySQL密码: " MYSQL_PASSWORD
echo ""
echo ""
echo "连接信息:"
echo "主机: $MYSQL_HOST"
echo "端口: $MYSQL_PORT"
echo "用户: $MYSQL_USER"
echo ""
echo "开始执行数据库初始化..."
echo ""
# 切换到sql目录
cd sql || exit 1
# 定义执行SQL的函数
execute_sql() {
local file=$1
local description=$2
echo "[$description]"
if [ -z "$MYSQL_PASSWORD" ]; then
mysql -h "$MYSQL_HOST" -P "$MYSQL_PORT" -u "$MYSQL_USER" < "$file"
else
mysql -h "$MYSQL_HOST" -P "$MYSQL_PORT" -u "$MYSQL_USER" -p"$MYSQL_PASSWORD" < "$file"
fi
if [ $? -ne 0 ]; then
echo "错误: $description 失败!"
exit 1
fi
}
# 执行SQL文件
execute_sql "createDB.sql" "1/9 创建数据库"
execute_sql "createTableUser.sql" "2/9 创建用户相关表"
execute_sql "createTablePermission.sql" "3/9 创建权限相关表"
execute_sql "createTableResource.sql" "4/9 创建资源管理相关表"
execute_sql "createTableCourse.sql" "5/9 创建课程管理相关表"
execute_sql "createTableLearning.sql" "6/9 创建学习管理相关表"
execute_sql "createTableUserCenter.sql" "7/9 创建个人中心相关表"
execute_sql "createTableAI.sql" "8/9 创建智能体相关表"
execute_sql "createTableSystem.sql" "9/9 创建系统配置和日志相关表"
cd ..
echo ""
echo "====================================================="
echo "数据库初始化完成!"
echo "====================================================="
echo "数据库名: school_news"
echo "默认用户: admin"
echo "默认密码: 详见 createTableUser.sql"
echo "====================================================="
echo ""