Node.js 如何连接 MySQL:从基础到实践

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

node 如何连接mysql,Node高效连接MySQL指南

安装 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