当前位置: 首页 > news >正文

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

 后续如果遇到问题,持续更新上去

http://www.lryc.cn/news/456713.html

相关文章:

  • Canvas:AI协作的新维度
  • 【深度学习】— softmax回归、网络架构、softmax 运算、小批量样本的向量化、交叉熵
  • C# Wpf 图片按照鼠标中心缩放和平移
  • 网络安全产品类型
  • 【开源风云】从若依系列脚手架汲取编程之道(五)
  • 金融市场的衍生品交易及其风险管理探讨
  • 一、创建型(单例模式)
  • 毕业设计项目-古典舞在线交流平台的设计与实现(源码/论文)
  • 【秋招笔试】10.09华子秋招(已改编)-三语言题解
  • 【算法笔记】双指针算法深度剖析
  • 第二十二天|回溯算法| 理论基础,77. 组合(剪枝),216. 组合总和III,17. 电话号码的字母组合
  • 关闭IDM自动更新
  • Go 性能剖析工具 pprof 与 Graphviz 教程
  • 【题目解析】蓝桥杯23国赛C++中高级组 - 斗鱼养殖场
  • JavaScript可视化:探索顶尖的图表库
  • 谷歌AI大模型Gemini API快速入门及LangChain调用视频教程
  • 进入容器:掌控Docker的世界
  • 初始Linux(二)基础命令
  • STM32 OLED
  • 伦敦金实时行情决策辅助!
  • ​Leetcode 746. 使用最小花费爬楼梯​ 入门dp C++实现
  • 路由协议常见知识点
  • 多模态大语言模型(MLLM)-InstructBlip深度解读
  • 网页前端开发之Javascript入门篇(7/9):字符串
  • 双登股份再战IPO:数据打架,实控人杨善基千万元股权激励儿子
  • 4.Python 函数(函数的定义、函数的传入参数、函数的返回值、None 类型、函数说明文档、变量的作用域)
  • 【JavaEE】——文件IO
  • Python的pandas库基本操作(数据分析)
  • 软件测试(平铺版本)
  • 树控件QTreeWidget