Mysql引擎MyIsam与InnoDB的区别_阿汤博客
阿汤博客-承接中小企业服务器维护和网站维护,有意者可以联系博主!

Mysql引擎MyIsam与InnoDB的区别

学习笔记 430℃ 0评论

mysql采用MYISAM引擎的数据表A,会有如下文件:

A.frm【存储表定义,表字段等等】

A.MYD【存储数据】

A.MYI【存储索引】

mysql采用InnoDB引擎的数据表B,会有如下文件:

B.frm文件

B.ibd 或 .ibdata

idb或.ibdata这两种文件都是存放innodb数据的文件

独享表空间存储方式使用.ibd文件,并且每个表一个ibd文件

共享表空间存储方式使用.ibdata文件,所有表共同使用一个ibdata文件(所有表是指这个服务器上所有库的所有使用INNODB引擎的表)

从这个2中引擎的文件方式中就可以看出,如果用户数据库出现问题,我们采用直接拷贝表文件的方式去操作数据库,前提必须是这些表都采用MYISAM引擎。

查看MySQL是否支持InnoDB引擎以及不支持的解决办法

通过命令行进入mysql或者是通过phpmyadmin进行操作,执行如下命令:

SHOW variables like "have_%"

显示结果中会有如下3种可能的结果:

have_innodb YES 已经开启InnoDB引擎

have_innodb NO  未安装InnoDB引擎

have_innodb DISABLED  未启用InnoDB引擎

针对第二种未安装,只需要安装即可;针对第三种未启用,则打开mysql配置文件,找到 skip-innodb项,将其改成#skip-innodb,之后重启mysql服务即可。

转载请注明:阿汤博客 » Mysql引擎MyIsam与InnoDB的区别

喜欢 (1)or分享 (0)