阅读某手游项目源码时,连接数据库阶段报错,报错如下图所示:
显示 MYSQL server has gone away,网上看了些中文文章,前篇一律都指向连接超时或sql语句请求数据量过大等等,但我是首次编译链接,不存在这个情形。单步跟踪情况下,发现出错原因在mysql_real_connect执行上,错误原因是
接下来找了两篇外文资料,第一篇解释了caching_sha2_password是啥,以及为啥要选择它。
链接:https://www.colabug.com/2243530.html
第二篇是老外在stack overflow上给出的解决办法:
ALTER USER 'yourusername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'youpassword';
链接:https://stackoverflow.com/questions/49194719/authentication-plugin-caching-sha2-password-cannot-be-loaded
在CMD里用管理员权限执行后正常连接上了数据库,问题解决!