关于innodb文件结构

Innodb使用一个虚拟文件系统-表空间(tablespace)来存储数据表和索引,用户同时可以通过制定innodb_file_per_table为每一个innnodb数据表分别创建一个表空间文件。在设置了这个选项并重新启动MySQL服务器之后,这个选项只对新建的InnoDB数据表起作用,此前创建的InnoDB数据表仍然将集中存储在原来的表空间中,它被称为主空间或者主表空间,此后关于新表的所有数据和所有索引都会存储在$datadir/databasename/tablename.ibd文件中。

与以前只有一个表空间文件的做法相比,这一改进带来了许多的好处。使用单表空间的做法优势在于当使用主表空间的时候,因为主表空间是一个封闭的文件系统,它的大小只增不减,使用单表空间,当执行drop table命令时会立刻释放掉该表所占据的空间。

 

 

下面是我的数据库德文件结构/data/mysql_3306

ibdata
    ibdata1(1.0G)
    ibdata2(1.0G)
iblogs
    ib_logfile0(1.0G)
    ib_logfile1(1.0G)
var
    err.log
    fb-bin.000001......fb-bin.000020
    fb-bin.index
    mysql(table name)
    task(table name)
    test(table name)
        user_born.frm
        user_born.ibd
        user_born.TRG    
        user_born_before_insert.TRN
        ......
    TJSJHL196-139.opi.com.err
    TJSJHL196-139-slow.log


frm文件 ,存储数据表的框架结构,文件名与表名相同,每个表对应一个同名frm文件,与操作系统和存储引擎无关,即不管MySQL运行在何种操作系统上,使用何种存储引擎,都有这个文件。

 

ibd文件,ibd文件:单表表空间文件,每个表使用一个表空间文件(file per table),存放用户数据库表数据和索引。InnoDB数据库文件(即InnoDB文件集,ib-file set),该文件一般存在在mysql的数据目录下,如:ibdata1、ibdata2等系统表空间文件,存储InnoDB系统信息和用户数据库表数据 和索引,所有表共用。

         
TRG文件 ,与触发器有关系,内容保存的是触发器的定义,如下所示:
TYPE=TRIGGERS
triggers='CREATE DEFINER=`root`@`localhost` trigger user_before_insert before insert on user for each row begin insert into user_update values(new.id,new.name,CURTIME());end' 'C
REATE DEFINER=`root`@`localhost` trigger user_before_update before update on user for each row begin insert into user_update values(new.id,new.name,CURTIME());end'
sql_modes=0 0
definers='root@localhost' 'root@localhost'

引用“22.5.7: Where are triggers stored?

Triggers for a table are currently stored in .TRG files, with one such file one per table.

地址:http://dev.mysql.com/doc/refman/5.0/en/faqs.html

    
TRN文件 ,与触发器有关系,但是内容保存的不是触发器的内容,而是如下所示:
TYPE=TRIGGERNAME
trigger_table=user

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值