Nodejs连接Mysql笔记
框架搭建
安装Node.js
首先,确保你已经在系统上安装了Node.js和npm(Node Packaged Modules)。你可以通过以下命令检查是否已经安装:shell 或者 node -v 或者 npm -v
数据库连接代码
1.导入MySQL2库
npm install mysql2
2.在文件server.js
中,首先导入mysql2
库:
const mysql = require('mysql2');
3.整个server.js代码:连接数据库
const express = require('express');
const mysql = require('mysql2');const app = express();
const port = 3001; // 更改端口号const db = mysql.createConnection({host: "127.0.0.1",//本地地址port: 3306,//端口号user: "root",//数据库用户名password: "password",//数据库密码database: "dbtest1",//连接的数据库名
});
// 测试数据库连接
db.connect((err) => {if (err) {// console.error('Database connection error:', err);console.error('服务器连接失败',err);return;}console.log('Connected to the database.');// 连接成功后启动服务器app.listen(port, () => {console.log("Server is running...");});
});app.get("/test", (req, res) => {res.status(403);res.send("访问的资源不存在");
});app.get("/getlist", (req, res) => {db.query("select * from userinfos", (err, result) => {if (err) {res.status(500).send("数据库访问失败");} else {res.status(200).send(JSON.stringify(result));}})
});
在终端使用node server.js运行打印Connected to the database.就是连接数据库成功,可以在浏览器中打开接口
连接数据库报错问题
报错Error: listen EADDRINUSE: address already in use :::3000
这个报错是3000的端口号被占用可以修改端口号 或者使用kill的方法去消除
当代码引用的是mysql会一直报错Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
建议直接换成引入mysql2 引入方法:在终端 npm install mysql2
后续如果遇到问题,持续更新上去