目录
1.表结构定义文件:
*.frm 文件是所有mysql数据库都有的文件,记录了该表的表结构定义。
2.存储引擎文件
2.1表空间文件
InnoDB 中用于存储数据的文件总共有两个部分,一是系统表空间文件,包括 ibdata1、 ibdata2 等文件,其中存储了 InnoDB 系统信息和用户数据库表数据和索引,是所有表公用的,另一个是.idb文件,是每张表独有的。
当打开 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导进去。
4.MYD、MYI
MYD、MYI是myisam引擎表的,数据文件,索引文件。