mysql数据库表结构定义文件和存储引擎文件

目录

1.表结构定义文件:     

2.存储引擎文件

2.1表空间文件

2.2重做日志文件

3. 如何用frm文件恢复数据库结构


1.表结构定义文件:     

*.frm 文件是所有mysql数据库都有的文件,记录了该表的表结构定义。

2.存储引擎文件

2.1表空间文件

      InnoDB 中用于存储数据的文件总共有两个部分,一是系统表空间文件,包括 ibdata1、 ibdata2 等文件,其中存储了 InnoDB 系统信息和用户数据库表数据和索引,是所有表公用的,另一个是.db文件,是每张表独有的。
当打开 innodb_file_per_table 选项时, .ibd 文件就是每一个表独有的表空间,文件存储了当前表的 数据,索引数据和插入缓冲等信息。

查看和设置innodb_file_per_table 配置

show variables like '%per_table%';

set global innodb_file_per_table =ON;

MyISAM引擎,表的索引数据存放在.MYI文件中,表数据存放在.MYD文件中

2.2重做日志文件

默认情况会有2个文件,名称分别是ib_logfile0和ib_logfile1.Mysql官方手册称为InnoDB存储引擎的日志文件。不过更准确的定义应该是重做日志文件(redo log file)。为什么强调是重做日志文件呢?因为重做日志文件对于InnoDB存储引擎至关重要,它们记录了对于InnoDB存储引擎的事务日志。

3. 如何用frm文件恢复数据库结构

只要在mysql的安装文件中找到data文件夹,然后在里面建立一个文件夹,比如test。这个test其实就对应着数据库的名称,所以,你想要起什么样的数据库名称就把文件夹起什么名字。 
然后把.frm文件导进去。注意还要在data目录下加入ib_logfile0,ib_logfile1,ibdata1这几个文件,要不然在mysql里只能找到表名(其实一个.frm文件就是对应的数据库中的一个表.) 而不能对其进行操作。 
说明: 
比如你原来的mysql中有一些数据库了。可以先把原来的data改名字备份在同一目录下。(可能要改名字系统会提示有另一程序在使用这个文件,这个时候可以到控制面板的服务里面,把mysql的服务先关掉,等改完名字,把东西都导进去后再开服务) 
然后另建一个data,把在里面建好数据库名把.frm导进去。

猜你喜欢

转载自blog.csdn.net/lhanson/article/details/82803947
今日推荐