- 前台页面全面升级为Tailwind CSS框架 - 引入Google Fonts (Space Grotesk, Noto Sans) - 主色调更新为#25c0f4 (cyan blue) - 实现玻璃态效果和渐变背景 - 优化首页网格卡片布局和悬停动画 - 优化详情页双栏布局和渐变Logo光晕 - 优化管理员登录页,添加科技网格背景 - Flask-Admin后台完整深色主题 - 统一Material Symbols图标系统 - 网站自动抓取功能界面优化 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
66 lines
1.9 KiB
Python
66 lines
1.9 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""
|
|
测试数据库连接
|
|
"""
|
|
import sys
|
|
import pymysql
|
|
from dotenv import load_dotenv
|
|
import os
|
|
|
|
# 设置UTF-8编码输出
|
|
if sys.platform.startswith('win'):
|
|
import io
|
|
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
|
|
|
|
load_dotenv()
|
|
|
|
def test_connection():
|
|
"""测试MySQL连接"""
|
|
print("正在测试数据库连接...")
|
|
print(f"主机: {os.getenv('DB_HOST')}")
|
|
print(f"端口: {os.getenv('DB_PORT')}")
|
|
print(f"用户: {os.getenv('DB_USER')}")
|
|
print(f"数据库: {os.getenv('DB_NAME')}")
|
|
|
|
try:
|
|
connection = pymysql.connect(
|
|
host=os.getenv('DB_HOST'),
|
|
port=int(os.getenv('DB_PORT', 3306)),
|
|
user=os.getenv('DB_USER'),
|
|
password=os.getenv('DB_PASSWORD'),
|
|
database=os.getenv('DB_NAME'),
|
|
charset='utf8mb4'
|
|
)
|
|
|
|
print("\n✓ 数据库连接成功!")
|
|
|
|
# 测试查询
|
|
with connection.cursor() as cursor:
|
|
cursor.execute("SELECT VERSION()")
|
|
version = cursor.fetchone()
|
|
print(f"✓ MySQL版本: {version[0]}")
|
|
|
|
cursor.execute("SHOW TABLES")
|
|
tables = cursor.fetchall()
|
|
if tables:
|
|
print(f"✓ 现有表: {len(tables)} 个")
|
|
for table in tables:
|
|
print(f" - {table[0]}")
|
|
else:
|
|
print(" 当前数据库为空,可以运行 init_db.py 初始化")
|
|
|
|
connection.close()
|
|
return True
|
|
|
|
except Exception as e:
|
|
print(f"\n✗ 数据库连接失败: {str(e)}")
|
|
print("\n请检查:")
|
|
print("1. 服务器MySQL是否开放了3306端口")
|
|
print("2. .env文件中的数据库配置是否正确")
|
|
print("3. 数据库用户是否有远程访问权限")
|
|
print("4. 服务器防火墙/安全组是否允许3306端口")
|
|
return False
|
|
|
|
if __name__ == '__main__':
|
|
test_connection()
|