问题: 使用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';