mysql dba系统学习(12)mysql的数据文件
mysql的数据文件
一,系统参数datadir 在MySQL 中每一个数据库都会在定义好(或者默认)的数据目录下存在一个以数据库名字命名的文件夹,用来存放该数据库中各种表数据文件 datadir指定的目录是数据库目录的上级目录,一般的创建数据库的时候会创建两个数据库mysql和test,如果再创建一个数据库的话就会多出一个对应的数据库文件夹 mysql> show variables like "%datadir%"; +---------------+-----------------------+ | Variable_name | Value | +---------------+-----------------------+ | datadir | /usr/local/mysql/var/ | +---------------+----------------------- mysql> system ls /usr/local/mysql/var/ ibdata1 ib_logfile1 test test4.pid test4.wolf.org.pid ib_logfile0 mysql test4.log test4.wolf.org.err mysql> create database chen; Query OK, 1 row affected (0.03 sec) mysql> system ls /usr/local/mysql/var/ chen ib_logfile0 mysql test4.logtest4.wolf.org.err ibdata1 ib_logfile1 test test4.pidtest4.wolf.org.pid 二,MyISAM 引擎的数据文件 我们来在chen数据库里面创建一个表试试看,会产什么变化!! mysql> use chen; Database changed mysql> create table tt(id int ,name varchar(20)) engine=myisam; Query OK, 0 rows affected (0.15 sec) 结果生成如下文件 [root@test4 ~]# cd /usr/local/mysql/var/chen/ [root@test4 chen]# ll -h total 20K -rw-rw----. 1 mysql mysql 61 Sep 4 20:04 db.opt -rw-rw----. 1 mysql mysql 8.4K Sep 4 20:22 tt.frm -rw-rw----. 1 mysql mysql 0 Sep 4 20:22 tt.MYD -rw-rw----. 1 mysql mysql 1.0K Sep 4 20:22 tt.MYI “.frm”文件 与表相关的元数据(meta)信息都存放在“.frm”文件中,包括表结构的定义信息等。不论是什么存储引擎,每一个表都会有一个以表名命名的“.frm”文件。所有的“.frm”文件都存放在所属数据库的文件夹下面。而且大小也不会变化 “.MYD”文件 “.MYD”文件是MyISAM 存储引擎专用,存放MyISAM 表的数据。每一个MyISAM 表都会有一个“.MYD”文件与之对应,同样存放于所属数据库的文件夹下,和“.frm”文件在一起。 “.MYI”文件 “.MYI”文件也是专属于MyISAM存储引擎的,主要存放MyISAM表的索引相关信息。对于MyISAM存储来说,可以被cache 的内容主要就是来源于“.MYI”文件中。每一个MyISAM表对应一个“.MYI”文件,存放于位置和“.frm”以及“.MYD”一样。 (编辑:滁州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |