启动MySQL时,获取错误"插件'InnoDB'注册为STORAGE ENGINE失败"

Rit*_*mar 15 mysql

我在Stackoverflow上发现了许多类似的问题,但没有得到确切的错误解决方案.我的问题是在一台Dedicated Centos 6.5机器上启动MySQL服务时,我收到错误:

141018 05:13:46 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
141018  5:13:47 [Warning] Can't create test file /var/lib/mysql/ip-184-168-73-83.lower-test
141018  5:13:47 [Warning] Can't create test file /var/lib/mysql/ip-184-168-73-83.lower-test
/usr/libexec/mysqld: Can't create/write to file '/tmp/ibkTWnhE' (Errcode: 28)
141018  5:13:48  InnoDB: Error: unable to create temporary file; errno: 28
141018  5:13:48 [ERROR] Plugin 'InnoDB' init function returned error.
141018  5:13:48 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
141018  5:13:48 [ERROR] Can't start server : Bind on unix socket: No space left on device
141018  5:13:48 [ERROR] Do you already have another mysqld server running on socket: /var/lib/mysql/mysql.sock ?
141018  5:13:48 [ERROR] Aborting

141018  5:13:48 [Note] /usr/libexec/mysqld: Shutdown complete

141018 05:13:48 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
Run Code Online (Sandbox Code Playgroud)

这是免费的命令状态:free -m

             total       used       free     shared    buffers     cached
Mem:          3743       3631        111          0       2705         21
-/+ buffers/cache:        905       2838
Swap:         2047          0       2047
Run Code Online (Sandbox Code Playgroud)

小智 16

我有同样的问题,这是我的解决方案:

  1. 向服务器添加更多RAM

  2. 减少配置文件中innodb-buffer-pool大小的值 /etc/mysql/my.cnf:

    innodb_buffer_pool_size = 10M

保存后my.cnf,重启mysql服务.


小智 7

这是经常发生的问题。跟随-

  1. 从位置“ .. \ xampp \ mysql \ data”以及“ .. \ xampp \ mysql \ backup”中删除/删除这些“ aria_log_contro,ib_logfile0,ib_logfile1,ib_data1”文件。
  2. 停止并启动apache服务器和mysql表单xampp控制面板

这应该可以解决问题;实际上它对我有用。

  • 我想为那些不知道这些文件包含什么内容的人添加一个警告。删除这些文件可能会严重损坏您的数据库,并且您将无法恢复它。ib_logfile 包含重做日志(据我所知),这对于 innodb 表至关重要。 (3认同)

Min*_*ved 7

我通过以下方式解决了这个问题:

  • 使用 root 访问权限通过 SSH 登录到服务器。
  • 导航到 /var/lib/mysql。
  • 如果您看到诸如 ib_logfile0 和 ib_logfile1 之类的日志文件,请将它们重命名或移动到其他文件夹。
  • 通过运行sudo service mysql stop和启动 MySQL 服务sudo service mysql start

我希望这有帮助。谢谢

  • 谢谢回复!这解决了所有问题。那么您能解释一下为什么日志文件会像这样使服务器崩溃,以便将来不会再发生这种情况吗?这样我们就可以预防它。 (3认同)

Pet*_*agy 5

改变的价值观innodb_buffer_pool_sizeinnodb_log_file_size我没有工作。

移动ib_logfile0ib_logfile1文件也没有帮助。

什么帮助是:

> service mysql stop
Run Code Online (Sandbox Code Playgroud)

编辑my.cfg和添加innodb_force_recovery = 1

> service mysql start
> service mysql stop
Run Code Online (Sandbox Code Playgroud)

注释该innodb_force_recovery = 1行。

> service mysql start
Run Code Online (Sandbox Code Playgroud)

瞧。(我应该注意,我不知道这是否涉及任何数据丢失)