Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,允许开发者使用 JavaScript 编写服务器端的应用程序。它采用事件驱动、非阻塞 I/O 模型,使其轻量且高效。
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,后被 Sun 公司收购,最终被 Oracle 公司收购。MySQL 是一种关联数据库管理系统,将数据保存在不同的表中,以增加速度和灵活性。
以下是一个简单的 Node.js 应用程序,使用 Express 框架连接 MySQL 数据库并执行查询。
const express = require('express');
const mysql = require('mysql');
// 创建 MySQL 连接
const connection = mysql.createConnection({
host: 'localhost',
user: 'your_username',
password: 'your_password',
database: 'your_database'
});
// 连接到 MySQL
connection.connect((err) => {
if (err) throw err;
console.log('Connected to MySQL database!');
});
const app = express();
// 创建一个简单的路由来执行查询
app.get('/users', (req, res) => {
const sql = 'SELECT * FROM users';
connection.query(sql, (err, result) => {
if (err) throw err;
res.json(result);
});
});
// 启动服务器
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
ER_ACCESS_DENIED_ERROR
原因:通常是因为用户名、密码或数据库名称不正确。
解决方法:
const connection = mysql.createConnection({
host: 'localhost',
user: 'correct_username',
password: 'correct_password',
database: 'correct_database'
});
原因:可能是由于事件循环阻塞或数据库连接池配置不当。
解决方法:
const pool = mysql.createPool({
connectionLimit: 10,
host: 'localhost',
user: 'your_username',
password: 'your_password',
database: 'your_database'
});
通过以上方法,可以有效解决 Node.js 和 MySQL 在实际应用中遇到的一些常见问题。
领取专属 10元无门槛券
手把手带您无忧上云