问题: 使用koa创建项目连接mysql时报错。
原因: mysql从8.04引入一个caching_sha2_password模块作为默认身份验证插件,数据库连接时验证身份的工作方式(handshake process)会与以往不同。但以前版本的通过mysql_native_password 创建的账户仍然可以正常工作,只是验证这些账户时会切回mysql_native_password的工作方式,以此实现向下兼容。
nodejs版本尚未跟进caching_sha2_password的实现,所以需要通过上面命令来手动切换验证账号方式。
解决方法:
//yourpassword 是你的数据库账户密码,root和host也是
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpassword';
在使用Node.js创建项目并尝试连接到MySQL数据库时,可能会遇到由于caching_sha2_password模块导致的身份验证问题。这个问题源于mysql 8.04版本的新特性,而Node.js尚不完全支持该模块。为解决此问题,可以使用SQL命令将账户认证方式切换为mysql_native_password。例如,如果您的数据库账户密码是'yourpassword',root用户和localhost是连接地址,可以运行如下命令:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpassword'; 这将确保账户能正常连接。

5302

被折叠的 条评论
为什么被折叠?



