600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > mysql ibd frm文件_mysql中frm和ibdata文件

mysql ibd frm文件_mysql中frm和ibdata文件

时间:2019-09-12 23:15:40

相关推荐

mysql ibd frm文件_mysql中frm和ibdata文件

mysql中.frm与.ibdata

【innodb存储引擎】

MySQL为表把它的数据词典信息以.frm文件的形式存在数据库目录里,文件名与表名相同。

但是每个InnoDB表在表空间内的InnoDB内部数据词典里有它自己的条目,即在ibdata文件中有每个innodb表的相关信息。

当MySQL移除表或数据库,会删除.frm文件和InnoDB数据词典(即ibdata文件)内的相应条目;

相应的,当我们新建表或数据库时,也新建.frm文件并在ibdata中新建一个条目。

ibdata文件存储InnoDB系统信息和用户数据库表数据和索引所有innodb表共用ibdata文件,为了防止ibdata由于存储数据造成很大的文件,可以将参数innodb_file_per_table写入配置文件,但要重启后生效。

配置文件加入:

innodb_file_per_table = 1

mysql> show variables like '%innodb_file_per_table%';

+-----------------------+-------+

| Variable_name | Value |

+-----------------------+-------+

| innodb_file_per_table | ON |

+-----------------------+-------+

1 row in set (0.00 sec)

这样,mysql就将innodb表的数据存入各自对应的.ibd文件中了,但结构等信息还是会写入ibdata。

对于已经“撑大”的ibdata文件,可以通过停机重建ibdata和ib_logfile来“缩小”。(相关内容请看本人其他博客,数据文件迁移)

【myisam存储引擎】

MySQL为表把它的数据词典信息以.frm文件的形式存在数据库目录里,文件名与表名相同。

另外,.MYD存储myisam表的数据;.MYI存储myisam表的索引

对于myisam的表,数据和表结构不会进入.ibdata文件。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。