一、环境准备与依赖安装
在连接本地机房数据库前,需确保已部署数据库服务并开放访问权限。以MySQL为例,需完成以下步骤:
- 确认本地机房数据库的IP地址、端口号、账号密码等连接信息
- 安装Node.js运行环境(建议使用LTS版本)
- 在项目目录执行命令安装数据库驱动:
npm install mysql2
若使用Docker部署的数据库,需确认容器网络配置允许宿主机访问。
二、数据库驱动配置
创建数据库连接配置文件时,推荐使用连接池提升性能:
const mysql = require('mysql2/promise'); const pool = mysql.createPool({ host: '192.168.1.100', // 机房数据库IP user: 'db_user', password: 'secure_password', database: 'production_db', waitForConnections: true, connectionLimit: 10, queueLimit: 0 });
注意将connectionLimit
根据实际并发量调整,避免过度占用数据库资源。
三、建立数据库连接
通过连接池执行查询的标准流程:
- 使用
pool.query
执行简单查询 - 通过
pool.getConnection
获取单独连接处理事务 - 错误处理应包含网络异常重试机制
示例事务处理代码需包含beginTransaction
和commit
语句确保数据一致性。
四、执行SQL操作
推荐使用预处理语句防止SQL注入:
- 参数化查询:
await pool.execute('SELECT * FROM users WHERE id = ?', [userId])
- 批量插入使用
bulkCreate
方法提升效率 - 设置查询超时时间(建议5-30秒)
复杂查询建议使用EXPLAIN
分析执行计划优化索引。
五、连接安全建议
生产环境连接需遵循:
- 通过SSH隧道加密数据库通信
- 配置数据库白名单IP访问策略
- 使用环境变量存储敏感信息
- 定期轮换数据库凭证
推荐使用dotenv
加载环境变量,避免硬编码敏感信息。
通过上述步骤可实现Node.js与本地机房数据库的安全高效连接,建议结合PM2等进程管理工具部署服务,并通过连接池监控工具优化资源使用。