【问题标题】:MySQL server has gone away after Homebrew upgradeHomebrew 升级后 MySQL 服务器消失了
【发布时间】:2019-01-11 23:59:15
【问题描述】:

我刚刚对 PHP 7.2.8 和 MySQL 8.0.12 做了一个brew upgrade。在此之后,尝试从 PHP 脚本(来自 Bash)连接到 MySQL 在 10 秒后超时(默认的 MySQL 超时值)。

new PDO("mysql:host=localhost;dbname=foo;charset=utf8", "user", "pass");

[2006] MySQL server has gone away

我的环境中的一切似乎都很正常。我的设置中没有更改任何其他内容。从 Bash 连接到 MySQL 工作正常。如何从 PHP 重新获得 MySQL 访问权限?

$ php -i | grep php.ini
Configuration File (php.ini) Path => /usr/local/etc/php/7.2
Loaded Configuration File => /usr/local/etc/php/7.2/php.ini

$ tail /usr/local/etc/php/7.2/php.ini
mysql.default_socket = /tmp/mysql.sock
pdo_mysql.default_socket = /tmp/mysql.sock

$ ls /tmp/mysql*
srwxrwxrwx  0 /tmp/mysql.sock
-rw-------  5 /tmp/mysql.sock.lock
srwxrwxrwx  0 /tmp/mysqlx.sock
-rw-------  6 /tmp/mysqlx.sock.lock

$ mysql
Welcome to the MySQL monitor.
mysql> show variables like '%socket%';
+-----------------------------------------+------------------+
| mysqlx_socket                           | /tmp/mysqlx.sock |
| socket                                  | /tmp/mysql.sock  |
+-----------------------------------------+------------------+

【问题讨论】:

    标签: php mysql homebrew


    【解决方案1】:

    解决方案:将此添加到您的 MySQL 配置文件 (my.cnf):

    [mysqld]
    default_authentication_plugin=mysql_native_password
    

    PHP manual:

    MySQL 8 默认为 caching_sha2_password,这是一个旧 PHP 版本无法识别的插件。 相反,通过在my.cnf 中设置default_authentication_plugin=mysql_native_password 来更改它。这 caching_sha2_password 插件将在未来的 PHP 中支持 释放。

    我希望这会为其他人节省一些麻烦和时间。

    【讨论】:

    【解决方案2】:

    这是一个不需要更改默认身份验证配置的解决方案。

    mysql> create user 'username'@'host' identified with mysql_native_password by 'password';
    

    MySQL 8.0 参考:CREATE USER SyntaxGRANT USER Syntax

    一旦 PHP 更新为 SHA-256 身份验证,您可以“更改用户”以再次使用 caching_sha2_password 进行识别。

    【讨论】:

    • 我已经这样做了(在切换到以前版本的 PHP 和 MySQL 时),但是当切换到当前版本时,我不得不更改配置。至少我的机器上是这样的。
    猜你喜欢
    • 2013-05-22
    • 2015-01-13
    • 2016-07-11
    • 2017-05-21
    • 2018-09-22
    • 1970-01-01
    • 2015-02-20
    • 2010-09-14
    • 2012-08-13
    相关资源
    最近更新 更多