【问题标题】:Mysql service won't start, InnoDB init function errorMysql 服务无法启动,InnoDB 初始化函数错误
【发布时间】:2014-03-29 00:08:20
【问题描述】:

所以今晚似乎不知从何而来,我的 wordpress 网站宕机了,我发现它是 mysql 的问题。 Mysql 不会在服务器上启动,因为它一直在失败。

这是我从日志中得到的:

140226 08:54:11 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
140226 08:58:20 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
140226  8:58:20 [Note] Plugin 'FEDERATED' is disabled.
140226  8:58:20 InnoDB: The InnoDB memory heap is disabled
140226  8:58:20 InnoDB: Mutexes and rw_locks use GCC atomic builtins
140226  8:58:20 InnoDB: Compressed tables use zlib 1.2.3
140226  8:58:20 InnoDB: Using Linux native AIO
/usr/libexec/mysqld: Can't create/write to file '/dev/shm/mysql/ibOqUOjF' (Errcode: 2)
140226  8:58:20  InnoDB: Error: unable to create temporary file; errno: 2
140226  8:58:20 [ERROR] Plugin 'InnoDB' init function returned error.
140226  8:58:20 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
140226  8:58:20 [ERROR] Unknown/unsupported storage engine: InnoDB
140226  8:58:20 [ERROR] Aborting

我试过谷歌搜索并在 Stack Overflow 上查看这里,但我似乎找不到很多解决方案,除了删除 ipdata1 和日志文件,正如我所读到的那样,不应该使用存储的数据,因为它会弄乱我的桌子。

这是在 NGINX CentOS 6 服务器上。

有什么想法吗?感谢您的帮助!

【问题讨论】:

  • 似乎/dev/shm/mysql/的权限问题
  • AFAIK 系统错误:2 = 没有这样的文件或目录 - 目录是否存在? mysql有写入权限吗?磁盘上是否还有足够的空间?
  • @AbdulManaf Duh .. 我设置了这些权限,现在它开始了,但该站点仍然是 404'ing。这也在日志中:Server hostname (bind-address): '0.0.0.0'; port: 3306 似乎没有连接到正确的主机名。
  • @Jon 你很准。该目录不存在,所以我创建了它并将权限应用于 mysql。这允许 mysql 启动,但是,该站点仍然无法运行......
  • @evan3168 如果你想从外部访问你的数据库,你需要绑定到0.0.0.0。所以 MySQL 正在运行,但 Nginx 给你 404 错误? Nginx 日志说明了什么?

标签: database wordpress innodb mysql


【解决方案1】:

AFAIK 系统错误:2 = 没有这样的文件或目录。

检查目录是否存在,mysql是否有写入权限,磁盘是否有足够的空间。

【讨论】:

  • 所以目录肯定存在。我已授予 mysql:mysql 776 权限。我重新启动了服务器,现在它根本无法启动。即使目录和权限固定。 NGINX 错误日志不显示任何最近的内容。
  • 日志说同样的事情,但它没有开始。我设法与修复了该问题的系统管理员取得了联系,但尚未向我介绍原因。我会确保在这里跟进。感谢您的帮助!
【解决方案2】:

另一个考虑可能是确保您用于 mysql 的 tmpdir 有足够的磁盘空间和所需的权限。

此外,对于 Windows 用户:考虑在您的 tmpdir 中使用 front slash (/) 而不是 back slash (\) > 路径

【讨论】:

  • 感谢上帝!我一直在为此奋斗,我使用 SSD 缓存并且必须指定 Windows tmpdir!
  • 也可以使用双反斜杠,因为单个反斜杠用作转义字符。
猜你喜欢
  • 1970-01-01
  • 2022-11-27
  • 1970-01-01
  • 1970-01-01
  • 2012-11-21
  • 1970-01-01
  • 2015-04-14
  • 2018-08-26
相关资源
最近更新 更多