了解mysql创建数据库过程中data目录文件的变化
data目录位置
可通过如下 sql 语句查找data目录在哪里
show global variables like "%datadir%";
其中datadir显示的便是你的 data 数据目录所在位置
通过对比数据库查看工具 navicat liste 显示的数据库名和 data 目录下显示的文件夹名,我们发现每个数据库,都对应了data目录下的一个文件夹
(information_schema是一个特殊的数据库,看不到与之相关的任何文件),其实每个mysql数据库都对应了 data 目录下的一个同名文件夹(除了上述所说的特例)
创建数据库
create database practice;
data目录下生成目录名practice(为我们的数据库名)为的目录,practice目录下产生一个名为 db.opt 的文件
(db.opt是用来记录该库的默认字符集编码和字符集排序规则用的)
db.opt文件内容如下
default-character-set=utf8 default-collation=utf8_general_ci
创建用户数据表
CREATE TABLE `user` ( `id` tinyint(4) NOT NULL AUTO_INCREMENT, `name` char(6) NOT NULL COMMENT '姓名', `age` tinyint(4) NOT NULL COMMENT '年龄', `gender` enum('other','female','male') NOT NULL DEFAULT 'female' COMMENT '性别', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
创建user表后,在practice目录下又生成了3个文件 user.frm , user.MYD ,user.MYI;
*.frm,*.myd,*.myi文件说明
*.frm是描述了表的结构 # frm ----> frame框架 *.myd保存了表的数据记录 # d ------> data *.myi则是表的索引 # i ------> index
mysql 数据库中的数据保存在 data 目录下的 ibdata1文件中