在joomla中显示错误页面时出错

时间:2014-11-21 11:13:05

标签: mysql joomla joomla3.3

我的网站是www.guru99.com。它运行在Joomla 3的最新版本上。

问题是我经常收到类似

的错误
“Error displaying the error page: Application Instantiation Error: Unknown storage engine 'InnoDB' SQL=SELECT `session_id` FROM `as23dc_session` WHERE `session_id` = '8590cce07a1ab1952edda6d4c479ad28' LIMIT 0, 1”

然后我将重新启动MySQL,问题将解决。

问题是随时发生错误,我并不总是可以调试。

我在一台专用服务器上,因此服务器使用cloudlinux并为此帐户分配了3GB物理内存和3个内核。仍然是问题。

请指导我哪里出错以及我需要修理什么?

1 个答案:

答案 0 :(得分:1)

有一个原因导致MySQL缺少INNODB引擎。如果你的innodb_buffer_pool_size变量太高而MySQL无法分配缓冲区,它将禁用INNODB引擎。

您应该在错误日志中看到类似的内容:

140204 13:12:26  InnoDB: Initializing buffer pool, size = 4.9G
140204 13:12:26  InnoDB: Error: cannot allocate 5242896384 bytes of
InnoDB: memory with malloc! Total allocated memory
InnoDB: by InnoDB 36878736 bytes. Operating system errno: 12
InnoDB: Check if you should increase the swap file or
InnoDB: ulimits of your operating system.
InnoDB: On FreeBSD check you have compiled the OS with
InnoDB: a big enough maximum process size.
InnoDB: Note that in most 32-bit computers the process
InnoDB: memory space is limited to 2 GB or 4 GB.
InnoDB: We keep retrying the allocation for 60 seconds...
140204 13:13:26InnoDB: Fatal error: cannot allocate the memory for the buffer pool
140204 13:13:26 [ERROR] Plugin 'InnoDB' init function returned error.
140204 13:13:26 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.

在缓冲池请求4.9G

的情况下,在具有1GB RAM的服务器上记录此错误

另外,确保mysql用户可以写入/ tmp。我得到了未知的表引擎InnoDB'恢复后,/ tmp对该用户不可写。

可能没有引擎&InnoDBopt'

尝试show engines;

如果mysql返回类似

的内容
+------------+----------+----

| Engine     | Support  | ...

+------------+----------+----

| InnoDB     | DISABLED | ...

最有可能的引擎innodb已被禁用。 在mysql配置中查找选项skip-innodb(例如my.cnf), 注释掉这个选项, 重新启动mysql守护进程,它应该修复