Laravel 框架 MySQL 运行报错: PDOStatement::execute (): MySQL server has gone away?

项目什么都没动,突然发现无法连远程的数据库了,只能连本地的,折腾了半天,连本地的都连不上了,简直像遇到了奇异事件。

用java程序连了一下,默认连不上,需要把usessl设为false,但是php对应的sslmode设为disable并不起作用。

尝试修改wait_timeout和connect_timeout也都无效,只是让等待的时间更长了。

直到在老同事刘明的提醒下,去查看laravel的日志,发现了这么一句:Unexpected server respose while doing caching_sha2 auth

于是,按这个问题去搜索,找到了https://www.cnblogs.com/qichao123/p/9719470.html

进到mysql,通过SELECT user,host,plugin FROM mysql.user;

确认我用的当前用户没问题,是mysql_native_password,于是继续配置my.cnf中的mysqld,添加:

default_authentication_plugin=mysql_native_password

回来测试成功。

About

Leave Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.