mysql 数据导入及格式的问题?

发布于 2021-11-22 01:02:34 字数 486 浏览 895 评论 9

        今天学习MySQL的时候下载了一个employees_db-full-1.0.6.tar.bz2这个示例数据库,我的系统是Linux,MySQL版本是5.1.69,所以数据库默认存储引擎是MyIsam,但是导入数据库后在数据目录下只有.frm文件,没有.MYD和.MYI文件,我查看了一下表的定义,发现其存储引擎是Innodb,更改存储引擎为Myisam后就出现了MYI和MYD文件。问题是:为什么存储引擎定义为innodb却存储为.frm,它的数据存哪去了?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

醉生梦死 2021-11-24 23:16:51

有,但是搞不懂为什么innodb的表会存为.frm

少女情怀诗 2021-11-24 22:52:47

你看看DATA目录下是不是有个ib_logfile0这样的文件呀。。你查下Innodb和MyIsam引擎的区别呗。

泛泛之交 2021-11-24 21:50:42

我用show create table 查看的时候确实是定义了存储引擎的

掩饰不了的爱 2021-11-24 20:45:20

使用mysql -t<a.sql形式导入的

凯凯我们等你回来 2021-11-24 20:10:34

导入的sql一般不会指定存储引擎吧

韬韬不绝 2021-11-24 18:38:40

谢谢,懂了。也就是说如果 innodb_file_per_table这个变量值为OFF的话所有innodb表的数据都会存入ibdata1里面,那如果ibdata1存满了是不是还会创建ibdata2?

平生欢 2021-11-23 15:03:56

回复
这要看my.conf设置了,默认是自动扩展autoextend,不会再创建ibdata2了。 如果在my.conf中设置了innodb_data_file_path=ibdata1:10M:ibdata2:20M:autoextend 那么如果ibdata1的10M满了,就会创建ibdata2,如果ibdata2慢了20M,不会再创建了,只会在ibdata2上自动扩展

狠疯拽 2021-11-23 00:42:20

回复
非常感谢

飘过的浮云 2021-11-23 00:02:16

mysql的innodb引擎管理数据是黑盒子管理,默认在数据目录(linux:/var/lib/mysql)下有一个ibdata1文件存储数据,ib_logfile0和ib_logfile1文件是日志文件, 而.frm格式存储的是表定义的格式。

这与MyIsam引擎大不相同。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文