OpenVZ MySQL InnoDB 无法启动

OpenVZ MySQL InnoDB 无法启动

我有一个具有 4GB RAM 的 OpenVZ 服务器,并尝试在多个发行版(Ubuntu 12.04 64 位、Ubuntu 12.10 64 位、Debian 7 64 位)上安装 MySQL,但总是出现相同的错误:

 130718  6:57:27 [Note] Plugin 'FEDERATED' is disabled.
130718  6:57:27 InnoDB: The InnoDB memory heap is disabled
130718  6:57:27 InnoDB: Mutexes and rw_locks use GCC atomic builtins
130718  6:57:27 InnoDB: Compressed tables use zlib 1.2.7
130718  6:57:27 InnoDB: Using Linux native AIO
130718  6:57:27  InnoDB: Warning: io_setup() failed with EAGAIN. Will make 5 attempts before giving up.
InnoDB: Warning: io_setup() attempt 1 failed.
InnoDB: Warning: io_setup() attempt 2 failed.
InnoDB: Warning: io_setup() attempt 3 failed.
InnoDB: Warning: io_setup() attempt 4 failed.
InnoDB: Warning: io_setup() attempt 5 failed.
130718  6:57:29  InnoDB: Error: io_setup() failed with EAGAIN after 5 attempts.
InnoDB: You can disable Linux Native AIO by setting innodb_use_native_aio = 0 in my.cnf
130718  6:57:29 InnoDB: Fatal error: cannot initialize AIO sub-system
130718  6:57:29 [ERROR] Plugin 'InnoDB' init function returned error.
130718  6:57:29 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
130718  6:57:29 [ERROR] Unknown/unsupported storage engine: InnoDB
130718  6:57:29 [ERROR] Aborting

除了 Ubuntu 12.04 64 位,但我想使用较新的版本。

我尝试 innodb_use_native_aio = 0在 my.cnf 中进行设置,但这没有帮助。如果有人能帮助我解决这个问题,我将不胜感激 :)

答案1

由于这是 OpenVZ® 内核,您可能遇到了一些未正确设置的限制。请尝试:

cat /proc/user_beancounters

并检查是否有一些行具有非零值failcnt。进行适当调整以修复。

另一件事就是简单地chroot进入所讨论的 VE,例如:

chroot /vz/root/1064 /bin/bash

并尝试mysqld直接从那里开始,看看它是否与 OpenVZ® 相关。如果您需要进一步的建议,请告诉我们。

答案2

根据有两种解决方案:

  • 在 my.cnf 的 mysqld 部分中添加innodb_use_native_aio=0

或者

  • echo 65536 > /proc/sys/fs/aio-max-nr

答案3

编辑您的my.cnf

ignore_builtin_innodb
default_storage_engine=MyISAM

您也可以添加:

skip-innodb

我认为更多软件与旧版 MyISAM 兼容。对于我来说,使用运行基本配置的自定义 Debian 7 内核就是如此。请注意,我尚未在生产环境中测试过此方法!

相关内容