mysql之 'InnoDB'和'MyISAM'

本文分享了一次解决Navicat导入数据库时InnoDB表引擎报错的经历,并提供了详细的排查及解决方案,包括如何检查和配置MySQL引擎。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

小编今天电脑出问题,重装回来之后,装好Navicat之后把备份好的数据库导入(当初也是用这个软件导出),结果竟然有些表报错,死活导入不进去。

没办法,百度之后,我一个一个的导入,结果发现表引擎是MyISAM都OK,表引擎是InnoDB都不行。无奈,我只好把所有的表引擎换成了MyISAM。虽然解决了,但是我再想很多时候项目里面会用到InnoDB表引擎,其作用最重要就是处理事务回滚,所以我现在的方法是治标不治本。

不甘心,然后,小编就单独建立了一个数据表做测试,单独建了个表,也设置成InnoDB,一保存就报错Unknown storage engine 'InnoDB'。

为此,我去百度下,终于让我找到了答案。(以下内容摘抄的)

 找一下问题的原因:可能是MySQL没有安装或没有使用InnoDB引擎,可以通过SQL语句或者在dos命令查看引擎:

    1、使用sql语句

在navicat或者其他显示mysql的工具中,输入“show engines”,运行sql语句。

结果如果是InnoDB| NO 说明未开启,如图:


  2、使用dos命令
  按照图中的操作执行,可以看到mysql的所有存储引擎。其中,myisam后面有一个default,说明现在默认的存储引擎是myisam。

    将存储引擎改为InnoDB的方法:在my.ini中配置,将默认的存储引擎改为innodb即可”default-storage-engine=INNODB“。(注意:若查看引擎的时候,没有看到innodb,则在my.ini中查找“skip-innodb“,注释掉。注释方法就是在这句话的前面加上”#“。
   最后记得每次修改完my.ini之后,要重启mysql服务。
    修改后的结果:

因为小编是用的phpstudy  一番查找之后  找到



按照这种操作之后,我终于可以把项目中带'InnoDB'和'MyISAM'表引擎的数据表一起导入了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值