Files
gangyan/chat_web_backend/init_database.sh

92 lines
2.7 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# 数据库初始化脚本
echo "=========================================="
echo "数据库初始化脚本"
echo "=========================================="
echo ""
# gangyanDocker 将 MySQL 映到宿主机 33306见 mysql/docker-compose.yml勿用 3306 检测/连接
MYSQL_HOST=127.0.0.1
MYSQL_PORT=33306
if ! ss -tln 2>/dev/null | grep -qE ":${MYSQL_PORT}\b"; then
echo "❌ 未监听 ${MYSQL_HOST}:${MYSQL_PORT}(请先启动 gangyan/mysql Docker Compose"
exit 1
fi
echo "请输入MySQL root密码默认: 1234567890:"
read -s MYSQL_PASSWORD
MYSQL_PASSWORD=${MYSQL_PASSWORD:-1234567890}
echo ""
echo "正在测试MySQL连接${MYSQL_HOST}:${MYSQL_PORT}..."
mysql -h "$MYSQL_HOST" -P "$MYSQL_PORT" -uroot -p"$MYSQL_PASSWORD" -e "SELECT 1;" 2>/dev/null
if [ $? -ne 0 ]; then
echo "❌ MySQL连接失败请检查"
echo " 1. MySQL服务是否运行"
echo " 2. root密码是否正确"
echo " 3. 是否有MySQL客户端工具"
echo ""
echo "如果没有mysql客户端可以安装"
echo " sudo apt install mysql-client-core-8.0"
exit 1
fi
echo "✅ MySQL连接成功"
echo ""
# 创建数据库
DB_NAME="chat_gpt_yj"
echo "正在创建数据库: $DB_NAME"
mysql -h "$MYSQL_HOST" -P "$MYSQL_PORT" -uroot -p"$MYSQL_PASSWORD" -e "CREATE DATABASE IF NOT EXISTS \`$DB_NAME\` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;" 2>/dev/null
if [ $? -eq 0 ]; then
echo "✅ 数据库创建成功"
else
echo "❌ 数据库创建失败"
exit 1
fi
echo ""
echo "正在导入SQL脚本..."
SQL_DIR="$(dirname "$0")/doc/sql"
# 导入顺序很重要
SQL_FILES=(
"sys.sql"
"chat_gpt.sql"
"knowledge_base.sql"
"gpt_folder.sql"
"writter_docs.sql"
"quartz.sql"
)
for sql_file in "${SQL_FILES[@]}"; do
if [ -f "$SQL_DIR/$sql_file" ]; then
echo " 导入: $sql_file"
mysql -h "$MYSQL_HOST" -P "$MYSQL_PORT" -uroot -p"$MYSQL_PASSWORD" "$DB_NAME" < "$SQL_DIR/$sql_file" 2>/dev/null
if [ $? -eq 0 ]; then
echo " ✅ 成功"
else
echo " ⚠️ 警告: 导入可能有问题,但继续..."
fi
else
echo " ⚠️ 文件不存在: $sql_file"
fi
done
echo ""
echo "=========================================="
echo "数据库初始化完成!"
echo "=========================================="
echo ""
echo "数据库名: $DB_NAME"
echo "用户名: root"
echo ""
echo "现在可以启动 Java 后端profile=yj连 Docker 宿主端口 33306"
echo " 推荐使用 gangyan/scripts/backend-restart.sh"
echo " 或: java -jar target/chat_web_yj.jar -Dspring.profiles.active=yj \\"
echo " -Dspring.config.additional-location=file:/path/to/gangyan/backend/application-local.yml"