数据库为什么会出现ibd文件|关于mysql中frm

Ⅰ MySQL 数据库导入sql文件 但导入后只有ibd文件没有frm文件

先在新的数据库里面建立一个和原来库一样的空数据库,在Mysql的安装目录下找到data目录,你可以看到你刚才建立的数据库名所命名的目录,进入该目录,然后停止mysql,将旧的那一堆frm替换这些目录底下的文件,启动mysql就行了。注意,新mysql的版本要和旧Mysql的版本要一致,否则会出现问题。

Ⅱ MySQL的数据库文件有几种扩展名及作用分别是什么

在MySQL中每一个数据库都会在定义好(或者默认)的数据目录下存在一个以数据库名字命名的文件夹,用来存放该数据库中各种表数据文件。

1、“.frm”文件 与表相关的元数据(meta)信息都存放在“.frm”文件中,包括表结构的定义信息等。不论是什么存储引擎,每一个表都会有一个以表名命名的“.frm”文件。所有的“.frm”文件都存放在所属数据库的文件夹下面。

2、“.MYD”文件“ .MYD”文件是MyISAM存储引擎专用,存放MyISAM表的数据。每一个MyISAM表都会有一个“.MYD”文件与之对应,同样存放于所属数据库的文件夹下,和“.frm”文件在一起。

3、“.MYI”文件 “.MYI”文件也是专属于MyISAM存储引擎的,主要存放MyISAM表的索引相关信息。对于MyISAM存储来说,可以被cache的内容主要就是来源于“.MYI”文件中。每一个MyISAM表对应一个“.MYI”文件,存放于位置和“.frm”以及“.MYD”一样。

管理工具:

可以使用命令行工具管理 MySQL 数据库(命令 mysql 和 mysqladmin),也可以从 MySQL 的网站下载图形管理工具 MySQL Administrator, MySQL Query Browser 和 MySQL Workbench。

phpMyAdmin是由 php 写成的 MySQ L资料库系统管理程程序,让管理者可用 Web 界面管理 MySQL 资料库。

phpMyBackupPro也是由 PHP 写成的,可以透过 Web 界面创建和管理数据库。它可以创建伪 cronjobs,可以用来自动在某个时间或周期备份 MySQL 数据库。另外,还有其他的 GUI 管理工具,例如 mysql-front 以及 ems mysql manager,navicat等等。

以上内容参考:网络-mySQL

Ⅲ 关于mysql中frm,myd及myi文件是怎么查看的

圆圈处的命令为linux 命令

1.查看当前目录大小

-sh./

2.查看某一指定目录大小

-shdirName

3.在指定目录下显示5个占用空间最大(最小)的目录或文件

最大:

-sh*|sort-nr|head

最小:

-sh*|sort-n|head

MySQL中.frm文件:保存了每个表的元数据,包括表结构的定义等,该文件与数据库引擎无关。

MySQL中.ibd文件:InnoDB引擎开启了独立表空间(my.ini中配置innodb_file_per_table = 1)产生的存放该表的数据和索引的文件。

frm

查看

Ⅳ 数据库有哪些表空间各个表空间的作用是什么

一、系统表空间在 MySQL 数据目录下有一个名为 ibdata1 的文件,可以保存一张或者多张表。923275 12M -rw-r—– 1 mysql mysql 12M 3月 18 10:42 ibdata1这个文件就是 MySQL 的系统表空间文件,默认为 1 个,可以有多个,只需要在配置文件 my.cnf 里面这样定义即可。innodb_data_file_path=ibdata1:200M;ibdata2:200M:autoextend:max:800M系统表空间不仅可以是文件系统组成的文件,也可以是非文件系统组成的磁盘块,比如裸设备,定义也很简单innodb_data_file_path=/dev/nvme0n1p1:3Gnewraw;/dev/nvme0n1p2:2Gnewraw系统表空间里都有些啥内容?具体内容包括:double writer buffer、 change buffer、数据字典(MySQL 8.0 之前)、表数据、表索引。那 MySQL 为什么现在主流版本默认都不是系统表空间?究其原因,系统表空间有三个最大的缺点:原因 1:无法做到自动收缩磁盘空间,造成很大的空间浪费。即使它包含的表都被删掉,这部分空间也不会自动释放。二、单表空间单表空间不同于系统表空间,每个表空间和表是一一对应的关系,每张表都有自己的表空间。具体在磁盘上表现为后缀为 .ibd 的文件。比如表 t1,对应的表空间文件为 t1.ibd917107 96K -rw-r—– 1 mysql mysql 96K 3月 18 16:13 t1.ibd单表空间如何应用到具体的表呢?有两种方式:方式 1:在配置文件中开启。在配置文件中开启单表空间设置参数 innodb_filer_per_table,这样默认对当前库下所有表开启单表空间。innodb_file_per_table=1另外也可以直接建表时指定单表空间mysql> create table t1 (id int, r1 char(36)) tablespace innodb_file_per_table;Query OK, 0 rows affected (0.04 sec)单表空间除了解决之前说的系统表空间的几个缺点外,还有其他的优点,详细如下:1. truncate table 操作比其他的任何表空间都快;2. 可以把不同的表按照使用场景指定在不同的磁盘目录;比如日志表放在慢点的磁盘,把需要经常随机读的表放在 SSD 上等。mysql> create table ytt_dedicated (id int) data directory = '/var/lib/mysql-files';Query OK, 0 rows affected (0.04 sec)3. 可以用 optimize table 来收缩或者重建经常增删改查的表。一般过程是这样的:建立和原来表一样的表结构和数据文件,把真实数据复制到临时文件,再删掉原始表定义和数据文件,最后把临时文件的名字改为和原始表一样的。三、通用表空间通用表空间先是出现在 MySQL Cluster 里,也就是 NDB 引擎。从 MySQL 5.7 引入到 InnoDB 引擎。通用表空间和系统表空间一样,也是共享表空间。每个表空间可以包含一张或者多张表,也就是说通用表空间和表之间是一对多的关系。


赞 (0)