【问题标题】:Error displaying the error page in joomla在 joomla 中显示错误页面时出错
【发布时间】:2014-11-21 11:13:04
【问题描述】:
我的网站是 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 个内核。问题依旧。
请指导我哪里出了问题以及我需要解决什么问题?
【问题讨论】:
标签:
mysql
joomla
joomla3.3
【解决方案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 配置(例如 my.cnf)中寻找选项 skip-innodb,
注释掉这个选项,
重启mysql守护进程,它应该修复