1、sqlMessage:‘Client does not support authentication protocol requested by server;

mysql版本是>9,在vscode里连接mysql会报错。

在vscode中卸载mysql换成mysql2,就好了

npm uninstall mysql

npm install mysql2

2、Access denied for user ''@'localhost' (using password: YES)

这个错误通常意味着MySQL服务器拒绝了当前用户的连接请求

-- 授予所有权限

GRANT ALL PRIVILEGES ON *.* TO root'@'localhost' WITH GRANT OPTION;

--刷新

FLUSH PRIVILEGES;

参考这个

详细网址:https://www.jb51.net/database/334505f9r.htm

然后我按照上面的都操作了,还是不对,后来我发现我的db.js文件写错了,改成这样就行了

const mysql = require('mysql2')

module.exports = {
  query(sql, params, callback) {
    return new Promise((resolve, reject) => {
      const connection = mysql.createConnection({
        host: '192.168.4.155',
        user: '你的登录数据库的账号', // 登录数据库的账号
        password: '你的登录数据库的密码', // 登录数据库的密码
        database: '指定要操作哪个数据库', // 指定要操作哪个数据库
      })
      connection.connect((err) => {
        if (err) {
          console.log('数据库连接失败!')
          reject(err)
        }
        console.log('数据库连接成功!')
      })
      connection.query(sql, params, (err, results, fileds) => {
        if (err) {
          console.log('数据库连接失败!')
          reject(err)
        }
        // resolve({ results, fileds })
        resolve({ results })
      })
      connection.end((err) => {
        if (err) {
          console.log('数据库关闭失败!')
          reject(err)
        }
        console.log('数据库关闭成功!')
      })
    })
  },
}

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐