#!/bin/bash # 宝塔数据库快速部署脚本 # 使用方法:bash deploy_database.sh echo "========================================" echo " AIGC平台 - 宝塔数据库部署脚本" echo "========================================" echo "" # 颜色定义 RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' # No Color # 数据库配置 DB_NAME="aigc_platform" DB_USER="aigc_platform" DB_CHARSET="utf8mb4" DB_COLLATE="utf8mb4_unicode_ci" # 检查是否为root用户 if [ "$EUID" -ne 0 ]; then echo -e "${RED}请使用root权限运行此脚本${NC}" echo "使用方法: sudo bash deploy_database.sh" exit 1 fi echo "步骤 1/5: 检查MySQL服务状态..." if systemctl is-active --quiet mysql || systemctl is-active --quiet mysqld || systemctl is-active --quiet mariadb; then echo -e "${GREEN}✓ MySQL服务正在运行${NC}" else echo -e "${RED}✗ MySQL服务未运行${NC}" echo "正在启动MySQL服务..." systemctl start mysql || systemctl start mysqld || systemctl start mariadb sleep 2 fi echo "" echo "步骤 2/5: 输入MySQL root密码" read -sp "请输入MySQL root密码: " MYSQL_ROOT_PASSWORD echo "" echo "" # 测试MySQL连接 echo "测试MySQL连接..." mysql -uroot -p"$MYSQL_ROOT_PASSWORD" -e "SELECT 1;" > /dev/null 2>&1 if [ $? -ne 0 ]; then echo -e "${RED}✗ MySQL连接失败,请检查root密码${NC}" exit 1 fi echo -e "${GREEN}✓ MySQL连接成功${NC}" echo "" echo "步骤 3/5: 创建数据库和用户" read -sp "请输入新数据库用户的密码(按回车使用随机密码): " DB_PASSWORD echo "" if [ -z "$DB_PASSWORD" ]; then # 生成随机密码 DB_PASSWORD=$(openssl rand -base64 16) echo -e "${YELLOW}已生成随机密码: $DB_PASSWORD${NC}" echo -e "${YELLOW}请务必保存此密码!${NC}" fi echo "" # 创建数据库 mysql -uroot -p"$MYSQL_ROOT_PASSWORD" <