关于 node 连接 mysql 数据库步骤--含报错解决方式

第一步:mysql 数据库安装:

mysql 下载地址:dev.mysql.com/downloads/m...

下载步骤:选择对应的 msi:

这里不建议下载最新的版本,到时候在 node 连接数据库的时候,会出问题,因为最新的不支持 某些认证方式,建议选择大版本为 8的 版本下载安装。

(1)下载,选择不登录下载

(2)运行下载好的 msi 文件

(3)傻瓜式的下一步安装

复制代码
注意点: 安装的时候选择自定义安装,然后记得更改安装目录

(4) 测试 mysql 安装是否成功 在电脑中查找 mysql 工具

按照提示输入刚刚安装数据库时设置的密码,如果正常出现这个,就说明安装成功了!

第二步:下载数据库连接工具

Navicat 数据库连接工具地址:www.navicat.com.cn/download/na...

傻瓜式一键安装。

连接方式: (1):新建一个 mysql 连接,然后点击下一步

(2) 设置连接的名字,其他可以默认不用动,默认端口是 3306,然后输入设置的数据库密码,点确定即可连接,这种方式也可确认数据库是否安装成功!

第三步:配置好 node 环境,安装 node.js, 有 node 环境,就不需要了,前端一般都有node 环境的。

第四步:搭建 node 项目 (这个项目只做简单的数据库的连接成功示范)

(1)初始化项目

js 复制代码
   npm init -y

(2)安装依赖 mysql 依赖

js 复制代码
npm install mysql

(3)创建 mysql.js 连接文件

js 复制代码
//引用 mysql

const mysql = require('mysql')

//建立连接(输入数据库密码,数据库名称)
const cnn = mysql.createConnection({ host:'localhost', user:'root', password:'root', port:3306, database:'myblog' })

//开始连接 
cnn.connect(err=>{
if(err){
    console.log('数据库连接失败')
}else{
       console.log('数据库连接成功')
}
});

//关闭连接
cnn.end()

(4)运行 mysql.js 文件 (以下是我的文件目录)

(5) 使用 node 命令,运行该文件

node .\mysql.js

(6) 连接失败了,关于 mysql 官方讲了,8.0 以上版本,好像就不支持 mysql_native_password 的数据库认证方式了,然而,mysql 的 node 依赖包并没有更新,使用的还是mysql_native_password 认证方式

解决办法有两种: 1、安装的 mysql 版本不高于 8.0 以上,可以使用以下 mysql 命令解决:

(1)首先,在 电脑中找到 mysql 命令终端,并打开

(2)输入如下命令

js 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你设置的密码';

(3)刷新下权限

js 复制代码
    flush privileges;

(4)重新执行 node 命令

2、安装版本高于8.0 的 (1)换个插件

npm install mysql2

(2)更改数据库连接方式

js 复制代码
const mysql = require("mysql2");
const cnn = mysql.createConnection({
  host: "localhost",
  user: "root",
  password: "xxxxx", //你的密码
  port: "3306",
  database: "testblog",
  authPlugins:'caching_sha2_password' //在这个地方切换认证方式
});

cnn.connect((err) => {
  if (err) {
    console.log("数据库连接失败",err);
  } else {
    console.log("数据库连接成功");
  }
})
相关推荐
爱分享的程序员1 小时前
前端面试专栏-算法篇:18. 查找算法(二分查找、哈希查找)
前端·javascript·node.js
YongGit3 小时前
探索 AI + MCP 渲染前端 UI
前端·后端·node.js
ncj3934379066 小时前
vscode中对node项目进行断点调试
vscode·node.js
abigale037 小时前
webpack+vite前端构建工具 -11实战中的配置技巧
前端·webpack·node.js
墨菲安全18 小时前
NPM组件 betsson 等窃取主机敏感信息
前端·npm·node.js·软件供应链安全·主机信息窃取·npm组件投毒
csdn_aspnet1 天前
Node.js 使用 WebSockets 和 Socket.IO 实现实时聊天应用程序
node.js
whhhhhhhhhw1 天前
Node.js核心API(fs篇)
node.js
聪聪的学习笔记1 天前
【1】确认安装 Node.js 和 npm版本号
前端·npm·node.js
GDAL2 天前
Node.js v22.5+ 官方 SQLite 模块全解析:从入门到实战
数据库·sqlite·node.js
RunsenLIu2 天前
基于Vue.js + Node.js + MySQL实现的图书销售管理系统
vue.js·mysql·node.js