关于 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 小时前
NestJS 项目实战-权限管理系统开发(六)
后端·node.js·nestjs
理想不理想v14 小时前
webpack最基础的配置
前端·webpack·node.js
南城巷陌16 小时前
JWT认证机制在Node.js中的详细阐述
node.js·jwt认证机制·前端安全认证
理想不理想v18 小时前
node.js的简单示例
node.js
yrldjsbk19 小时前
使用Node.js搭配express框架快速构建后端业务接口模块Demo
node.js·express
维李设论19 小时前
Node.js的Web服务在Nacos中的实践
前端·spring cloud·微服务·eureka·nacos·node.js·express
CodeChampion20 小时前
60.基于SSM的个人网站的设计与实现(项目 + 论文)
java·vue.js·mysql·spring·elementui·node.js·mybatis
Domain-zhuo20 小时前
如何利用webpack来优化前端性能?
前端·webpack·前端框架·node.js·ecmascript
理想不理想v20 小时前
webpack如何自定义插件?示例
前端·webpack·node.js