Node-MySQL2 库可以连接到 MySQL 8 但不能连接到 MySQL 5.7

问题描述

在我的开发环境中,我已经安装了 MysqL 8.0 并相应地构建了应用程序,但是在生产服务器上,MysqL 版本是 5.7,我的应用程序无法连接到数据库

我使用 MysqL2 包是因为我需要 MysqL2/promise 中没有的异步 API (MysqL)。我什至尝试使用 MysqL-await,它是 MysqL 的端口并添加了异步 API,但在对数据库进行身份验证后,它无法创建表。

这是什么原因造成的? MysqL 8.0 和 MysqL 5.7 中是否使用了不同的身份验证方法?如果是这样,那么 5.7 使用什么方法以及如何配置 MysqL2 连接中使用的身份验证方法

我像这样连接到数据库

db = await MysqL.createConnection({
    host: MysqL_host,user: MysqL_user,password: MysqL_pass,database: MysqL_db
})

并像这样创建表:

await db.query(
    "CREATE TABLE IF NOT EXISTS form (ID int NOT NULL AUTO_INCREMENT,\
    Name varchar(255),\
    Email varchar(255),\
    Phone varchar(15),\
    Address varchar(255),\
    Occupation varchar(50),\
    PRIMARY KEY (ID))")

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)