我在这个错误中停留了近2天但却找不到解决方案来解决这个问题。
我目前正在使用Sequelize
版本"^4.37.10"
和mysql2
版本"^1.5.3"
。以前它工作正常,直到2天前我遇到了这个错误。
我没有将它连接到本地数据库,而是连接到heroku的数据库,所以我相信我在网上找到的以下方法并没有真正解决我的问题:
update user set authentication_string=password(''), plugin='mysql_native_password' where user='root';
错误日志:
Unhandled rejection SequelizeConnectionError: Client does not support authentication protocol requested by server; consider upgrading MySQL client
debuggability.js:868
at Utils.Promise.tap.then.catch.err (c:\Users\User\Desktop\nodejstest\testmysql\webapp\node_modules\sequelize\lib\dialects\mysql\connection-manager.js:149:19)
at tryCatcher (c:\Users\User\Desktop\nodejstest\testmysql\webapp\node_modules\bluebird\js\release\util.js:16:23)
at Promise._settlePromiseFromHandler (c:\Users\User\Desktop\nodejstest\testmysql\webapp\node_modules\bluebird\js\release\promise.js:512:31)
at Promise._settlePromise (c:\Users\User\Desktop\nodejstest\testmysql\webapp\node_modules\bluebird\js\release\promise.js:569:18)
我是否意外删除了某些文件或者是什么?我怎么解决这个问题?我也尝试删除mysql2和sequelize模块并重新安装但仍然无法正常工作。即使在部署到Heroku之后,此错误仍然存在。感谢您的帮助。