ER_NOT_SUPPORTED_AUTH_MODE - sails 1.0和MySQL 8.0 该错误表示sails 1.0与MySQL 8.0不兼容。

3

我正在尝试将SailsJS连接到MySQL

default: {
  adapter: require('sails-mysql'),
  url: 'mysql://root:root@localhost/ventas'
},

但是每当我执行'sails lift'时,就会出现以下错误:
error: A hook (`orm`) failed to load!
error:
error: { error:
   { Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
    at Handshake.Sequence._packetToError (C:\ticket\node_modules\mysql\lib\protocol\sequences\Sequence.js:48:14) }

我只是使用 sails 自带的 Web 应用模板,没有添加任何代码。
有什么想法吗?
3个回答

3
问题可能出在加密密码上。MySQL 8.0 使用 caching_sha2_password。您需要将其更改为 mysql_native_password:
ALTER USER 'user' identified with mysql_native_password BY 'password';

就是这样!像魔法一样好用。 - undefined

0
问题来自于 mysql,你需要将插件更改为 mysql_native_password 然后运行 flush privileges;,参见这里这里

-2

将您的密码设置为包含大写字母、小写字母、数字和一个特殊字符的密码,长度为8个字符。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接