关于 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("数据库连接成功");
  }
})
相关推荐
muddjsv10 小时前
Node.js 概览:是什么、能做什么、从业价值与前景分析
node.js
Rain50911 小时前
mini-cc 技术栈:跟着 Claude Code 先选 TypeScript + React + Ink
前端·javascript·react.js·typescript·node.js·ai编程
Rain50911 小时前
架构解密:mini-cc 的核心设计思路
前端·架构·开源·node.js·ai编程
yantuguiguziPGJ12 小时前
WeMed:一个医疗垂直领域大模型 问答系统的 Taro 小程序
typescript·node.js
海上彼尚12 小时前
Nodejs也能写Agent - 9.Mastra篇 - Mastra客户端
开发语言·前端·javascript·人工智能·node.js
TechExplorer3651 天前
npm install 日志目录
前端·npm·node.js
Shirley~~1 天前
npm包发布与 dist-tag 管理指南
前端·npm·node.js
心.c1 天前
CommonJS和ES Module
javascript·后端·node.js
jike88ai2 天前
告别海外账号!OpenClaw+88api一站式配置:Claude/GPT/Gemini本地调用全流程
gpt·node.js·api·claude·openclaw·88api
独泪了无痕2 天前
CryptoJS:数据安全的JavaScript加密利器
前端·vue.js·node.js