3.0 KiB
3.0 KiB
数据库配置和使用指南
📋 数据库连接信息
开发环境 (MySQL)
- 主机: 129.211.213.226
- 端口: 9527
- 用户名: root
- 密码: aiotAiot123!
- 数据库: ajhdata
生产环境 (MySQL)
- 主机: 129.211.213.226
- 端口: 9527
- 用户名: root
- 密码: aiotAiot123!
- 数据库: ajhdata
🚀 快速开始
1. 安装依赖
cd backend
npm install
2. 配置环境变量
复制环境变量模板文件:
cp .env.example .env.development
编辑 .env.development 文件,根据实际环境修改配置:
NODE_ENV=development
DB_HOST=192.168.0.240
DB_PORT=3306
DB_USERNAME=root
DB_PASSWORD=aiot$Aiot123
DB_DATABASE=ajhdata
3. 验证数据库连接
# 完整初始化验证
npm run db:init
# 只检查连接状态
npm run db:check
📁 配置文件说明
config/database.js
主数据库配置文件,根据环境变量自动选择配置:
- 开发环境:
NODE_ENV=development - 生产环境:
NODE_ENV=production
.env.example
环境变量配置模板,包含所有可配置参数。
utils/dbConnector.js
数据库连接工具类,提供:
- 连接池管理
- SQL查询执行
- 事务支持
- 健康检查
scripts/initDatabase.js
数据库初始化脚本,功能:
- 验证数据库连接
- 检查数据库版本
- 执行SQL文件(预留)
🔧 可用脚本命令
| 命令 | 描述 |
|---|---|
npm run db:init |
完整数据库初始化验证(脚本位于 /scripts/backend/ 目录) |
npm run db:check |
只检查数据库连接状态 |
npm run db:migrate |
执行数据库迁移(预留) |
npm run db:seed |
填充初始数据(预留) |
🛡️ 安全注意事项
- 密码保护: 数据库密码已配置在环境变量中,不要硬编码在代码里
- 连接池: 使用连接池避免频繁创建连接
- 错误处理: 所有数据库操作都有完整的错误处理
- SQL注入: 使用参数化查询防止SQL注入
📊 性能优化
- 连接池配置: 最大20连接,最小5连接
- 超时设置: 获取连接超时60秒,空闲连接超时30秒
- 字符编码: UTF8MB4支持中文和emoji
- 时区设置: 东八区(+08:00)
🔍 故障排除
连接失败
- 检查网络是否能访问数据库服务器
- 验证用户名密码是否正确
- 确认数据库服务是否启动
权限问题
- 检查用户是否有数据库访问权限
- 确认数据库是否存在
性能问题
- 检查连接池配置是否合理
- 监控数据库服务器负载
📝 开发建议
- 开发环境使用测试数据库配置
- 生产环境使用生产数据库配置
- 定期备份重要数据
- 使用事务保证数据一致性