Node.js 如何连接 MySQL:从基础到实践
Node.js 连接 MySQL 的核心方法是使用 mysql2 或 mysql 第三方库,通过创建连接配置、建立连接池并执行 SQL 查询来实现数据库操作,以下将详细介绍连接步骤、代码示例及最佳实践。

安装 MySQL 驱动库
在 Node.js 项目中安装流行的 MySQL 驱动库(推荐使用 mysql2,因其性能更优且支持 Promise):
npm install mysql2
建立数据库连接
通过配置数据库信息(如主机、用户、密码、数据库名)创建连接。建议使用连接池以提高应用性能和资源管理效率:
const mysql = require('mysql2/promise'); // 使用 Promise 版本
// 创建连接池
const pool = mysql.createPool({
host: 'localhost', // 数据库主机地址
user: 'root', // 数据库用户名
password: 'yourpassword', // 数据库密码
database: 'testdb', // 数据库名称
waitForConnections: true,
connectionLimit: 10, // 连接池最大连接数
queueLimit: 0
});
执行 SQL 查询
使用连接池执行查询,并利用 async/await 处理异步操作,确保代码可读性:
async function queryDatabase() {
try {
const [rows] = await pool.query('SELECT * FROM users');
console.log('查询结果:', rows);
} catch (error) {
console.error('查询失败:', error);
}
}
queryDatabase();
关键注意事项
- 安全性:使用参数化查询或预处理语句防止 SQL 注入,
const [results] = await pool.execute('INSERT INTO users (name) VALUES (?)', ['John']); - 错误处理:始终用 try-catch 包裹数据库操作,并监听连接错误事件。
- 连接管理:生产环境中需配置连接池参数(如超时时间、重试机制),避免资源泄漏。
完整示例:连接并查询数据
以下是一个整合连接、查询和关闭的示例:
const mysql = require('mysql2/promise');
async function main() {
const pool = mysql.createPool({
host: 'localhost',
user: 'root',
password: 'password',
database: 'mydb'
});
try {
// 插入数据
await pool.execute('INSERT INTO products (name, price) VALUES (?, ?)', ['Laptop', 999]);
// 查询数据
const [products] = await pool.query('SELECT * FROM products');
console.log('产品列表:', products);
} finally {
await pool.end(); // 关闭连接池
}
}
main();
Node.js 通过 mysql2 库可高效连接 MySQL,重点在于正确配置连接池、使用异步操作保障性能,并重视查询安全性与错误处理,对于大型应用,还可结合 ORM 工具(如 Sequelize)简化数据库操作,掌握这些基础后,开发者能轻松构建稳定的 Node.js 数据库交互功能。
未经允许不得转载! 作者:HTML前端知识网,转载或复制请以超链接形式并注明出处HTML前端知识网。
原文地址:https://www.html4.cn/8784.html发布于:2026-08-04





