未处理的拒绝SequelizeConnectionError:ER_NOT_SUPPORTED_AUTH_MODE:客户端不支持服务器请求的身份验证协议

时间:2017-03-05 13:42:18

标签: mysql meteor sequelize.js

Unhandled rejection SequelizeConnectionError: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client 我在ubuntu上使用最新的mysql db使用node,meteor.js框架和mysql npm包。由于怀疑我的应用程序需要管理权限(sudo),因为mysql也需要sudo,我尝试启动应用程序作为sudo,这是我收到此警告时:

jk @jk-Aspire-E5-521:〜/ Documents / garlic $ sudo meteor jk的[sudo]密码:

您正在尝试将Meteor作为“超级用户”运行。如果你是 开发,这几乎肯定是你想要做什么,并且很可能 导致文件权限不正确。但是,如果您正在运行此命令 在构建过程中(CI等),或者你绝对确定你知道自己是什么 做,设置METEOR_ALLOW_SUPERUSER环境变量或传递 - 允许超级用户继续。

即使使用METEOR_ALLOW_SUPERUSER或--allow-superuser,您的应用中的权限也是如此 如果您尝试执行任何Meteor任务,则目录将不正确 普通用户。如果需要修复权限,请运行以下命令 来自项目的根目录:

sudo chown -Rh .meteor / local

1 个答案:

答案 0 :(得分:1)

https://github.com/mysqljs/mysql/issues/1507#issuecomment-242885003

这似乎是mysql bug,更改后重启服务器。更改密码不太可能解决问题。