启动MySQL时出现错误"插件'InnoDB'注册为一个存储引擎失败"。

8 浏览
0 Comments

启动MySQL时出现错误"插件'InnoDB'注册为一个存储引擎失败"。

我在Stackoverflow上找到了许多类似的问题,但没有得到确切的错误解决方法。\n我的问题是,在一台专用的Centos 6.5机器上启动MySQL服务时,出现错误:\n

141018 05:13:46 mysqld_safe 用来自/var/lib/mysql的数据库启动mysqld守护进程
141018  5:13:47 [警告] 无法创建测试文件/var/lib/mysql/ip-184-168-73-83.lower-test
141018  5:13:47 [警告] 无法创建测试文件/var/lib/mysql/ip-184-168-73-83.lower-test
/usr/libexec/mysqld: 无法创建/写入文件'/tmp/ibkTWnhE'(错误代码:28)
141018  5:13:48  InnoDB: 错误:无法创建临时文件;errno:28
141018  5:13:48 [错误] 插件'InnoDB'的init函数返回错误。
141018  5:13:48 [错误] 插件'InnoDB'作为存储引擎的注册失败。
141018  5:13:48 [错误] 无法启动服务器:绑定到unix套接字:设备上没有剩余空间
141018  5:13:48 [错误] 您是否已经在套接字/var/lib/mysql/mysql.sock上运行另一个mysqld服务器?
141018  5:13:48 [错误] 中止
141018  5:13:48 [注意] /usr/libexec/mysqld:关闭完成
141018 05:13:48 mysqld_safe 来自/var/run/mysqld/mysqld.pid的mysqld已结束

\n这里是free命令的状态:\nfree -m\n

             总计       已使用       空闲     共享     缓冲区     缓存
内存:         3743       3631        111          0       2705         21
-/+ 缓冲区/缓存:        905       2838
交换空间:         2047          0       2047

0
0 Comments

当启动MySQL时出现错误“Plugin 'InnoDB' registration as a STORAGE ENGINE failed”的原因是由于缺少某些文件或空间不足。解决此问题的方法如下:

  1. 从路径“..\xampp\mysql\data”和“..\xampp\mysql\backup”中删除或移动以下文件:“aria_log_contro, ib_logfile0, ib_logfile1, ib_data1”。
  2. 从xampp控制面板停止和启动Apache服务器和MySQL。

这将解决问题,实际上对我有效。

注意:在许多情况下,这将重置数据库,请非常小心。

我想向不知道这些文件包含内容的人们发出警告。删除这些文件可能会严重损坏数据库,您将无法恢复它。ib_logfile包含redo日志(据我所知),对于InnoDB表来说是必不可少的。

OP的错误是空间不足的错误。删除数据文件不是解决此问题的方法。如果删除此答案以避免用户采取破坏数据的行动,在可以轻松恢复数据的情况下将会非常有帮助。

0
0 Comments

当启动MySQL时出现错误"Plugin 'InnoDB' registration as a STORAGE ENGINE failed",这个问题的出现原因是磁盘存储空间不足。解决方法有以下几点:

1. 增加服务器的RAM内存。

2. 在配置文件中减小innodb-buffer-pool大小的值:

sudo nano /etc/mysql/my.cnf

innodb_buffer_pool_size = 10M

3. 保存/etc/mysql/my.cnf后,重启MySQL服务:

sudo service mysql restart
   exit

4. 在内存较小的机器上添加swap分区(具体方法请参考xuri.me/2016/10/25/add-swap-on-ubuntu.html)。

以上是解决问题"Plugin 'InnoDB' registration as a STORAGE ENGINE failed"的方法。

0
0 Comments

在启动MySQL时出现“Plugin 'InnoDB' registration as a STORAGE ENGINE failed”错误的原因可能是数据库数据损坏。解决方法是将下面提到的Db数据文件(ib_logfile0和ib_logfile1)移动到另一个位置。ib_logfile0和ib_logfile1是InnoDB基础设施的系统表空间。这些文件包含了InnoDB所需的重要信息。你可以在这里了解更多关于这些文件的信息。

在执行以下步骤之前,请备份一份文件(ib_logfile0和ib_logfile1)的副本,以防数据丢失:

1. 通过具有root访问权限的SSH登录服务器。

2. 导航到/var/lib/mysql目录。

3. 如果你看到类似ib_logfile0和ib_logfile1的文件,请将它们重命名或移动到其他文件夹。

4. 运行sudo service mysql stopsudo service mysql start来停止和启动MySQL服务。

重新启动服务器后,这些文件将被重新创建,问题有望得到解决。

感谢回复!这解决了所有的问题。那么你能解释一下为什么日志文件会导致服务器崩溃,以便我们可以防止类似情况再次发生吗?这样我们就可以预防了。

这是我见过的最危险的被点赞的答案。我猜那些通过遵循这样的错误答案导致数据丢失,并且认为每个Innodb错误都是损坏的用户不会回来在评论/点赞时进行评论/点赞。请阅读错误消息,即使你不这样做,也请复制日志文件,不要删除它们,这样至少当你意识到这个答案有多么糟糕时,你可以回退。错误28,perror 28 - 没有空间定义,不是通过删除InnoDB重做日志来修复的,而是通过创建更多的空间。

谢谢!我的数据库出现了相同的错误消息,重命名ib_logfile0和ib_logfile1解决了问题。我没有注意到任何数据丢失(至少应用程序所需的数据仍然存在于数据库文件中)。不过,我不会在没有好的备份的情况下更改这些文件。

谢谢!阅读评论后,我发现我采取了冒险的举动,但是我没有遇到任何数据丢失。我备份了文件(复制并粘贴到其他地方),然后将文件重命名为ib_logfile0_old和ib_logfile1_old,重新启动xampp后问题得到解决。

0