狂揽间歇WordPress的错误:建立数据库连接

问题描述 投票:2回答:3

每天或使我们的WordPress网站停止响应,页面开始回归可怕的“错误建立数据库连接”。没有什么在MySQL日志,我在茫然,这可能是导致该问题。我们没有很多的网站访问者,并且该机是一款中型EC2实例。人对如何解决这个任何想法?

mysql wordpress
3个回答
1
投票

有没有一个整体很多在这里工作。但是...我有我的微实例同样的问题。我的问题是,服务器保持运行内存,然后MySQL服务器将停止。重新启动计算机时,它会再次启动,但它只是一个时间早晚的问题会再次崩溃。

下面是我在MySQL的日志是越来越。

151023  6:15:44 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
151023  6:15:44 InnoDB: Completed initialization of buffer pool
151023  6:15:44 InnoDB: Fatal error: cannot allocate memory for the buffer pool
151023  6:15:44 [ERROR] Plugin 'InnoDB' init function returned error.
151023  6:15:44 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
151023  6:15:44 [ERROR] Unknown/unsupported storage engine: InnoDB
151023  6:15:44 [ERROR] Aborting

您可能要检查是否有类似的东西。我使用Ubuntu,而记录在/var/log/mysql/默认。

我通过建立交换文件按照Amazon EC2, mysql aborting start because InnoDB: mmap (x bytes) failed; errno 12解决了这个问题。在AWS实例默认情况下不会拿出一个交换空间设置(而我安装Ubuntu的,从下载回来的那天一样)。您需要手动设置。这里的方法 -

ssh到您的AWS实例。然后:

  1. 运行dd if=/dev/zero of=/swapfile bs=1M count=1024
  2. 运行mkswap /swapfile
  3. 运行swapon /swapfile
  4. 加入这一行/swapfile swap swap defaults 0 0/etc/fstab

阅读更多信息链接的问题。希望帮助!


1
投票

我曾与MySQL的间歇性崩溃类似的问题。它原来是Apache的配置。机器人被暴力破解的网站,并最终导致Apache的崩溃(检查你的日志:$ cat /var/log/apache2/access.log)。 Apache的自动重新启动,但没有足够的空闲内存来重启MySQL过,因此数据库连接错误。短期的解决办法是减少的Apache RequestWorkers的数量,以更好地适应你拥有的内存量。

您可以使用Apache2Buddy在你的Apache配置运行诊断。它会计算有多少阿帕奇工人可以运行给予你的RAM和有多大你的应用程序的数量:$ curl -L http://apache2buddy.pl/ | perl

它可能会建议(在较旧的Apache系统或MaxClients的)改变MaxRequestWorkers在MPM-prefork的配置。该文件是在我的系统上/etc/apache2/mods-available/mpm_prefork.conf。改变的价值是什么Apache2Buddy建议后,只需重新启动Apache,你应该是好去。

我写了一篇文章在这种情况下,如果你想更深入的解释,进行压力测试的方法,或者对如何阻止某些机器人交通的思路:http://brunzino.github.io/blog/2016/05/21/solution-how-to-debug-intermittent-error-establishing-database-connection/


0
投票

当我试图安装本地的wordpress同样的错误

错误建立数据库连接

发生,因为我忘记停止其在XAMPP启动SQL和Apache。我停下来,并重新安装WordPress的用于Windows和它的工作。

© www.soinside.com 2019 - 2024. All rights reserved.