Login
芋圆社区 > 编程 > NodeJS > 连接MySQL数据库失败

连接MySQL数据库失败

666
0
2023-09-26
2023-09-26
Hey、小怪兽

  • • Express:4.16.1,MySQL:2.18.1,本地MySQL:8.1
  • • 突然想试试之前写的Express的demo,启动的时候发现数据库连接失败,但是用Navicat和Cmd都可以访问,给我人看傻了:
  • const mysql = require("mysql");
    const connection = mysql.createConnection({
      host: "localhost",
      user: "root",
      password: "123456",
      database: "town_now",
    })
    connection.connect((err) => {
      if (err) {
        console.log("数据库连接失败")
      } else {
        console.log("数据库连接成功");
      }
    })
  • • 找到了一篇博客,说是8.0以上的MySQL采用了新的加密方法,刚好之前重新安装了MySQL把版本升到了8.1,这里可以用两种方法解决(我是用第一种的):
  • • 方法一,将MySQL用户的加密方式从新的加密方法(caching_sha2_password)更改为旧的加密方法(mysql_native_password):
  • ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
  • ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '修改的密码';
  • • 接着在Express里把密码改成修改的密码就行了
  • • 方法二,据说mysql2可以:
  • // 选一个就行了
    npm install mysql2
    cnpm install mysql2
    yarn add mysql2

下一篇:合并HTML-CSS-JS

Message Board
回复
回复内容不允许为空
留言字数要大于2,小于200!
提交成功,5s后刷新页面!
编程导航

连接MySQL数据库失败

合并HTML-CSS-JS

Copyright © 2020 芋圆社区

Powered by 浙ICP备2020039309号-1

此页面不支持夜间模式!

已进入夜间模式!

已进入普通模式!

搜索框不允许为空

签到成功!经验+5!芋圆币+2!

签到失败!今日已签到!

需要登录社区账号才可以进入!

复制成功
寄,页面未加载完成或页面无锚点