Node.js 与 MySQL 进行通信通常使用第三方库,如 mysql
或 mysql2
。这些库提供了方便的 API 来执行 SQL 查询并与 MySQL 数据库进行交互。以下是使用 mysql2
库进行通信的基本步骤:
mysql2
库首先,你需要安装 mysql2
库。你可以使用 npm 来安装:
npm install mysql2
以下是一个简单的示例,展示了如何使用 mysql2
库连接到 MySQL 数据库并执行查询:
const mysql = require('mysql2');
// 创建连接配置
const connectionConfig = {
host: 'localhost',
user: 'your_username',
password: 'your_password',
database: 'your_database'
};
// 创建连接
const connection = mysql.createConnection(connectionConfig);
// 连接到数据库
connection.connect((err) => {
if (err) {
console.error('Error connecting to database:', err);
return;
}
console.log('Connected to database');
});
// 执行查询
const sql = 'SELECT * FROM your_table';
connection.query(sql, (err, results) => {
if (err) {
console.error('Error executing query:', err);
return;
}
console.log('Query results:', results);
});
// 关闭连接
connection.end((err) => {
if (err) {
console.error('Error closing connection:', err);
return;
}
console.log('Connection closed');
});
在高并发环境下,使用连接池可以更有效地管理数据库连接。mysql2
库也支持连接池:
const mysql = require('mysql2');
const pool = mysql.createPool({
host: 'localhost',
user: 'your_username',
password: 'your_password',
database: 'your_database',
waitForConnections: true,
connectionLimit: 10,
queueLimit: 0
});
pool.getConnection((err, connection) => {
if (err) {
console.error('Error getting connection from pool:', err);
return;
}
console.log('Got connection from pool');
const sql = 'SELECT * FROM your_table';
connection.query(sql, (err, results) => {
if (err) {
console.error('Error executing query:', err);
return;
}
console.log('Query results:', results);
connection.release(); // 释放连接回连接池
});
});
Node.js 与 MySQL 的通信广泛应用于各种 Web 应用、API 服务、实时数据处理等场景。例如:
connectTimeout
和 socketTimeout
设置。console.log
打印 SQL 语句,以便调试。try...finally
块确保连接总是被释放。通过以上步骤和示例代码,你可以实现 Node.js 与 MySQL 的通信,并解决常见的连接和查询问题。
领取专属 10元无门槛券
手把手带您无忧上云