只把.frm文件考入mysql新建数据库目录下后,用命令行窗口打开,一直显示表不存在,用repair修复也不行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了只把.frm文件考入mysql新建数据库目录下后,用命令行窗口打开,一直显示表不存在,用repair修复也不行相关的知识,希望对你有一定的参考价值。

咋搞?

参考技术A 一个表要三个文件一起拷贝进去

mysql 存储引擎介绍2

了解MYSQL的都知道,在MYSQL中建立任何一张数据表,在其数据目录对应的数据库目录下都有对应表的.frm文件,.frm文件是用来保存每个数据表的元数据(meta)信息,包括表结构的定义等,.frm文件跟数据库存储引擎无关,也就是任何存储引擎的数据表都必须有.frm文件,命名方式为数据表名.frm,如user.frm. .frm文件可以用来在数据库崩溃时恢复表结构。

MySQL文件包括MySQL所建数据库文件MySQL所用引擎创建的数据库文件

.frm 文件与操作系统和数据库引擎无关,都有这么个与表名同名文件。

MyISAM引擎的文件:

.myd 即 my data,表数据文件

.myi 即my index,索引文件

.log 日志文件。

InnoDB引擎的文件:

采用表空间(tablespace)来管理数据,存储表数据和索引,

InnoDB数据库文件(即InnoDB文件集,ib-file set):

ibdata1、ibdata2等:系统表空间文件,存储InnoDB系统信息和用户数据库表数据和索引,所有表共用。

.ibd文件:单表表空间文件,每个表使用一个表空间文件(file per table),存放用户数据库表数据和索引。

日志文件: ib_logfile1、ib_logfile2

################################################################################################################################################################

Innodb存储引擎管理主要基于两个文件:表空间数据文件和日志文件。

InnoDB存储它的表&索引在一个表空间中,表空间可以包含数个文件(或原始磁盘分区)。

如果没有指定InnoDB配置选项,MySQL将在MySQL数据目录下创建一个名为ibdata1的10MB大小的自动扩展数据文件,以及两个名为ib_logfile0和ib_logfile 1的5MB大小的日志文件。

ibdata1的大小在my.cnf文件中配置:innodb_data_file_path = ibdata1:10G:autoextend

可以设置最大数据文件限制,以免超过系统支持的最大文件:

innodb_data_file_path = ibdata1:100M:autoextend:max:500M

日志文件大小在my.cnf文件中配置:innodb_log_file_size  = 256M  innodb_log_files_in_group = 2

Innodb存储引擎可以使用共享表空间或独立表空间,使用独立表空间时,需要将innodb_file_per_table加到配置文件中,也可以在variables中开启。

共享表空间是将所有的表的数据和索引保存在ibdata1中,这样的缺点是拷贝时必须拷贝整个大文件,而且删除表后容易产生碎片。

独立表空间是为每个表建立一个.ibd文件用来存储数据和.frm用来存数据词典信息,这样,mysql就将innodb表的数据存入各自对应的.ibd文件中了,但结构等信息还是会写入ibdata。

innodb_file_per_table变量只能在配置文件里修改,不能使用set global ...

将innodb_file_per_table关闭之后,建立innoDB表时只生成.frm文件,数据和索引都保存在共享表空间ibdata1中。################################################################################################################################################################

MySQL数据库存放位

 

mysql> show global variables like "%datadir%";

技术分享

数据库文件存放在这个位置,每个人可能有所不同哦:

C:\ProgramData\MySQL\MySQL Server 5.6\Data\
 

以上是关于只把.frm文件考入mysql新建数据库目录下后,用命令行窗口打开,一直显示表不存在,用repair修复也不行的主要内容,如果未能解决你的问题,请参考以下文章

mysql-.frm,.myd,myi备份如何导入mysql

MySQL DDL操作--------指定表数据文件存放目录最佳实战

mysql 索引

mysql 存储引擎介绍2

mysql数据库frm文件和ibd文件可以删除吗

怎样从frm,ibd恢复MYSQL的相关推荐