#!/bin/bash # ==================================================== # 工作日志服务平台 - 数据库初始化执行脚本 # ==================================================== # 使用说明: # 1. 确保MySQL服务正在运行 # 2. 准备好MySQL root密码 # 3. 执行此脚本:./init_db.sh # ==================================================== set -e # 遇到错误立即退出 SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "${SCRIPT_DIR}/../.." && pwd)" SQL_DIR="${PROJECT_ROOT}/sql" echo "========================================" echo "工作日志服务平台 - 数据库初始化" echo "========================================" echo "" # 检查SQL文件是否存在 if [ ! -f "${SQL_DIR}/create_user.sql" ]; then echo "错误:找不到文件 ${SQL_DIR}/create_user.sql" exit 1 fi if [ ! -f "${SQL_DIR}/init_database.sql" ]; then echo "错误:找不到文件 ${SQL_DIR}/init_database.sql" exit 1 fi echo "步骤1:创建数据库用户" echo "----------------------------------------" echo "将创建以下用户:" echo " 用户名:worklog" echo " 密码:Wlog@123" echo " 权限:worklog数据库的所有权限" echo "" read -p "是否继续?(y/n): " confirm if [ "$confirm" != "y" ] && [ "$confirm" != "Y" ]; then echo "已取消操作" exit 0 fi echo "" echo "执行 create_user.sql ..." mysql -u root -p < "${SQL_DIR}/create_user.sql" if [ $? -eq 0 ]; then echo "✓ 数据库用户创建成功" else echo "✗ 数据库用户创建失败" exit 1 fi echo "" echo "步骤2:创建数据库和表结构" echo "----------------------------------------" echo "将创建以下内容:" echo " 数据库:worklog" echo " 表:sys_user, log_template, work_log" echo " 初始数据:默认管理员账号和日志模板" echo "" read -p "是否继续?(y/n): " confirm if [ "$confirm" != "y" ] && [ "$confirm" != "Y" ]; then echo "已取消操作" exit 0 fi echo "" echo "执行 init_database.sql ..." mysql -u root -p < "${SQL_DIR}/init_database.sql" if [ $? -eq 0 ]; then echo "✓ 数据库和表结构创建成功" else echo "✗ 数据库和表结构创建失败" exit 1 fi echo "" echo "========================================" echo "数据库初始化完成!" echo "========================================" echo "" echo "数据库信息:" echo " 数据库名:worklog" echo " 用户名:worklog" echo " 密码:Wlog@123" echo " 字符集:utf8mb4" echo "" echo "默认管理员账号:" echo " 用户名:admin" echo " 密码:admin123(需要通过程序重置)" echo "" echo "验证连接:" echo " mysql -u worklog -p worklog" echo " 输入密码:Wlog@123" echo "" echo "========================================"