Unknown table engine ‘InnoDb’的解决办法
提示信息明显,缺少InnoDb数据库引擎。
命令行下查看一下可用数据库引擎:
mysql> show engines;
+————+———+————
| Engine | Support | Comment …
+————+———+————
| MEMORY | YES | …
| FEDERATED | NO |
| MyISAM | DEFAULT |
| BLACKHOLE | YES |
| MRG_MYISAM | YES |
| CSV | YES |
| ARCHIVE | YES |
| InnoDB | NO |
+————+———+-
8 rows in set (0.00 sec)
确实是InnoDB引擎没启用。
解决办法有二:
1、修改SQL语句中的引擎InnoDB为MyISAM,一般MyISAM都是启用的。
2、修改MySQL安装目录下的my.ini,在skip-innodb前增加#,重启MySQL,再次通过命令行查看结果为:
mysql> show engines;
+————+———+————
| Engine | Support | Comment …
+————+———+————
| MEMORY | YES | …
| FEDERATED | NO |
| MyISAM | DEFAULT |
| BLACKHOLE | YES |
| MRG_MYISAM | YES |
| CSV | YES |
| ARCHIVE | YES |
| InnoDB | YES |
+————+———
根据my.ini中的提示,启用InnoDB引擎会消耗内存和硬盘空间,如非必要不建议启用。
无效时在my.ini中修改default-storage-engine=MyISAM为default-storage-engine=InnoDB,保存后再重启mysql
若无法启动,则将mysql目录下的ib开头的日志文件都删除后再重启即可.
下一条:mysql备份