我在 Google Compute Engine 实例上运行 Wordpress。操作系统是 Debian,数据库是 MySql 5.5.4.6,php 5.6.14...
今天早些时候,我注意到我的网站使用了 90% 的 CPU。我试图通过从 Google 云平台控制台打开 Google ssh shell 进行调查,但无法成功。检查了串行输出日志,看到一条消息,表明磁盘已满,这阻止了我登录。由于在 Debian 上运行,我将 SSD 持久磁盘上的分配空间从 10GB 增加到了 50GB。我检查了文件系统,看到了 50GB。我重新启动了应用程序实例,并在主题行中收到了错误。然后我重新启动了数据库实例和应用程序实例,但这仍然没有清除错误。wp-config.php 文件中的数据库凭据自两天前正常工作以来没有改变。当我尝试使用 root 及其密码从命令行访问 mysql 时,我收到错误 1040“连接过多”...当我尝试命令 mysql status 时,我收到相同的错误 1040...我不知道是什么导致了这个问题——可能是某种缓存问题吗?对于如何进行有什么建议吗?
谢谢!
答案1
为了GCE Debian 操作系统,使用 Google Cloud Console 或命令更改磁盘大小后gcloud
,需要重新启动虚拟机才能自动执行磁盘大小调整。重新启动后,通过 SSH 连接到虚拟机并使用df -h
命令验证磁盘大小。
关于Too many connections
错误,由于资源不足,您的数据库可能有过多的半开连接需要终止。重新启动虚拟机也应该可以解决此问题。
答案2
myisamchk
您的 MySQL 很可能在磁盘空间耗尽时错误关闭。如果您使用 MyISAM 表,则需要使用工具修复数据库:
myisamchk -r /path/to/database/*.MYI
对于 InnoDB 表,您可以使用以下说明http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
答案3
我最近遇到了类似的问题,当我尝试在浏览器中查看 wordpress 网站时,我收到了“错误建立数据库连接”错误消息。为了解决这个问题,我登录了我的 Google Compute Engine 并停止了虚拟机,然后在它停止后再次启动它,奇迹般地它工作了,我的网站又恢复了运行