未知/不受支持的存储引擎:InnoDB | MySQL Ubuntu

未知/不受支持的存储引擎:InnoDB | MySQL Ubuntu

我最近从之前的 LTS Ubuntu 升级到了 Precise,现在 mysql 无法启动。当我尝试启动它时,它抱怨以下内容:

╰$ sudo service mysql restart
stop: Unknown instance:
start: Job failed to start

这显示在“/var/log/mysql/error.log”中:

120415 23:01:09 [Note] Plugin 'InnoDB' is disabled.
120415 23:01:09 [Note] Plugin 'FEDERATED' is disabled.
120415 23:01:09 [ERROR] Unknown/unsupported storage engine: InnoDB
120415 23:01:09 [ERROR] Aborting

120415 23:01:09 [Note] /usr/sbin/mysqld: Shutdown complete

我检查了所有 mysql 目录的权限,以确保它拥有所有权,我还重命名了之前的 ib_logs,以便它可以重新制作它们。在谷歌上搜索了 2 个小时后,我现在对这个问题一无所知。

答案1

检查日志后我发现以下错误:

[ERROR] Unknown/unsupported storage engine: InnoDB

我删除了这些文件:

rm /var/lib/mysql/ib_logfile0
rm /var/lib/mysql/ib_logfile1 

/var/lib/mysql

重启后这解决了我的问题。

答案2

如果你确实需要skip-innodb(用例:低内存占用),那么当然你不必将其注释掉。但是,如果 InnoDB 是默认存储引擎,则服务器将无法启动,直到你告诉它要使用哪个存储引擎,例如default-storage-engine=myisamMyISAM。

那么,尝试一下这个:

$ sudo -u mysql mysqld --skip-innodb --default-storage-engine=myisam

答案3

如果你正在使用 MySQL 5.6+ 并且想要禁用 InnoDB,请不要忘记“--默认-tmp 存储“否则它将不起作用:

要禁用 InnoDB,请使用 --innodb=OFF 或 --skip-innodb。在这种情况下,由于默认存储引擎是 InnoDB,因此除非您还使用 --default-storage-engine 和 --default-tmp-storage-engine 将永久表和临时表的默认引擎设置为其他引擎,否则服务器将无法启动。

http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html#option_mysqld_ignore-builtin-innodb

您可以将其添加到您的 my.cnf:

[mysqld] 
innodb=OFF 
ignore-builtin-innodb 
skip-innodb
default-storage-engine=myisam 
default-tmp-storage-engine=myisam

只是为了确保它能正常工作。

答案4

我在现代 MariaDB 10.5 系统上遇到此错误,因为我忘记了 innodb 控制行上的单位;

innodb_buffer_pool_size = 4096
innodb_log_file_size    = 1024

代替

innodb_buffer_pool_size = 4096MB
innodb_log_file_size    = 1024MB

所以,如果你拿到了这个,检查一下

相关内容