我在我的 Mac 上使用 mysql 的 Homebrew 设置进行 Drupal 开发工作,在几个版本 6 的站点上,我在尝试打开状态报告页面时遇到著名的“mysql:服务器已消失”错误。经过一番搜索,我发现答案似乎是将 max_allowed_packet 设置添加到 my.cnf 的 [mysqld] 部分。所以,使用 mysql 公式中提供的 my-medium.cnf 文件,我将它放在 /usr/local/etc 并添加
max_allowed_packet=65M
但是,由于某种原因,mysql 不喜欢这样。我运行 mysql.server restart,它似乎开始了,但是当我尝试在我的客户端中运行查询时,它告诉我没有连接。然后我尝试从 my.cnf 中删除设置并重新启动,但我没有重新启动,而是得到
ERROR! The server quit without updating PID file (/usr/local/var/mysql/username.home.pid)
尝试重新连接套接字会给我一个错误,提示请求超时或无法通过套接字连接(在这种情况下是 /tmp/mysql.sock)。在 Drupal 站点上,我得到一个“没有这样的文件或目录”。信息。
谁能解释为什么仅仅将这个值添加到 my.cns 会导致这样的结果?
谢谢。
编辑:在检查了我使用的 my.cnf 之后,我注意到 [mysqld] 部分已经有了 max_allowed_packet = 1M。我删除了它并创建了只有
[mysqld]
max_allowed_packet = 64M
我仍然得到相同的结果。出于某种原因,当我添加或更改该设置时,mysql 不喜欢它。