【问题标题】:Upgrade Openssl Fixes Heartbleed but results in Magento MySQL Error升级 Openssl 修复 Heartbleed 但导致 Magento MySQL 错误
【发布时间】:2014-04-14 18:35:36
【问题描述】:

在我们的 Ubuntu 12.04 服务器上更新和升级 heartbleed 错误后,我遇到了一个 MySQL 错误,仅显示在我们的 Magento 托管站点的登录页面上:

SQLSTATE[HY000]: General error: 23 Out of resources when opening file '/tmp/#sql_360_0.MYD' (Errcode: 24)

在开始之前,我们备份了所有内容。然后我执行了以下命令:

sudo apt-get clean
sudo apt-get update
sudo apt-get install openssl libssl1.0.0
reboot

根据https://filippo.io/Heartbleed/,openssl 补丁成功。现在所有 Magento 1.8 站点都因相同的错误(上图)而损坏,但 Joomla 站点似乎不受影响。所有网站都使用 MySQL 5.5.35。

为了查看是否是依赖版本问题,我也尝试了以下命令,但没有任何变化:

sudo apt-get upgrade
reboot

我还清除了 Magento 缓存和会话文件夹。

【问题讨论】:

标签: mysql magento openssl ubuntu-12.04 heartbleed-bug


【解决方案1】:

根据一些有限的互联网研究,听起来像

一般错误:23 打开文件时资源不足

是MySQL的说法

我需要打开比操作系统允许的更多的文件。

因此,OpenSLL 更新或自您上次重新启动服务器(或重新启动 MySQL?)以来发生的其他事情限制了允许应用程序打开的文件数量。

基于一些old blog posts,听起来您需要编辑允许的文件数

/etc/security/limits.conf

寻找线条

and add:
mysql soft nofile ....
mysql hard nofile ....

其中.... 是当前允许您打开的文件数。听起来你可能想在你的 MySQL 服务器上FLUSH TABLES 来清除 MySQL 为 MyISAM 的分区表打开的所有旧文件。

【讨论】:

  • 感谢@Alan Storm。 MySQL 中的FLUSH TABLES 似乎解决了这个奇怪的问题。幸运的是,在那之后我不必再做任何服务器配置了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-22
  • 2012-09-22
  • 2021-01-24
  • 2020-01-03
相关资源
最近更新 更多