我有一个具有 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
答案3
编辑您的my.cnf
:
ignore_builtin_innodb
default_storage_engine=MyISAM
您也可以添加:
skip-innodb
我认为更多软件与旧版 MyISAM 兼容。对于我来说,使用运行基本配置的自定义 Debian 7 内核就是如此。请注意,我尚未在生产环境中测试过此方法!