异常信息
[SQL] Query small start
[ERR] 1286 - Unknown storage engine 'InnoDB'
[ERR] # Host: localhost (Version: 5.5.5-10.1.30-MariaDB)
场景描述
导入sql文件失败,报错。
异常原因
1、未安装InnoDB引擎
2、未启用InnoDB引擎
解决方案
SHOW VARIABLES LIKE ‘have_%’;这个是检查innodb的状态
1.have_innodb YES 已经开启InnoDB引擎
2.have_innodb NO 未安装InnoDB引擎
3.have_innodb DISABLED 未启用InnoDB引擎
SHOW ENGINES;这个也可以看到有没有在运行innodb
使用sql语句在navicat或者其他显示mysql的工具中,输入“show engines”,运行sql语句。
结果如果是InnoDB| NO 说明未开启,如图:
使用dos命令
按照图中的操作执行,可以看到mysql的所有存储引擎。其中,myisam后面有一个default,说明现在默认的存储引擎是myisam。
将存储引擎改为InnoDB的方法:
先关闭mysql。程序在my.ini中配置,将默认的存储引擎改为innodb即可”default-storage-engine=INNODB“。(注意:若查看引擎的时候,没有看到innodb,则在my.ini中查找“skip-innodb“,注释掉。注释方法就是在这句话的前面加上”#“。
最后记得每次修改完my.ini之后,要重启mysql服务。
更改后的配置:
default-storage-engine=INNODB
#default-storage-engine=MYISAM
#skip-innodb
有些配置文件里面就没有skip-innodb选项。打开mysql目录phpStudy\MySQL\data 就是这个data目录下边iblogfile。iblogdatga的文件,删掉。
然后我们在打开my.ini
default-storage-engine=INNODB
#default-storage-engine=MYISAM
保存。启动mysql
关于未安装的现象 我们可以执行安装,一般情况下是会支持的