当执行node index.js启动服务,通过浏览器访问http://localhost:8080/getData
服务器端会报错:
Client does not support authentication protocol requested by server
//NodeJS MySQL客户端不支持身份验证协议
原因:MySql 8.0换了新的身份验证插件(caching_sha2_password), 旧的身份验证插件为(mysql_native_password)。
以默认创建的用户和密码都是这个加密方式。而npm包里的mysql模块还是使用原来的mysql_native_password加密方式,两者不互通,连接会报错。
我是苹果电脑通过设置里面MySQL解决的
点击Initialize Database(初始化数据库)
选择第二个旧的方法身份验证,兼容。
方法二:通过终端命令的方式修改