MySQL相关文件——表结构定义文件

因为MySQL插件式存储引擎体系结构的关系,MySQL数据的存储是根据表进行的,每个表都有一个与之对应的文件。但不论采用什么存储引擎,MySQL都有一个以frm为后缀名的文件(这个特性在MySQL8中被取消),这个文件记录了该表的表结构定义。

frm还用来存放视图的定义,如下所示创建一个v_a视图,那么相应的也会产生一个v_a.frm文件,用来记录视图的定义,这个文件是文本文件,可以直接使用cat命令进行查看。

mysql> create or replace view v_a  as select * from test;
Query OK, 0 rows affected (0.00 sec)
[[email protected] /app/mysqlapp/mysql/data]#cd test1
[[email protected] /app/mysqlapp/mysql/data/test1]#ls
db.opt  test.frm  test.ibd  v_a.frm
[[email protected] /app/mysqlapp/mysql/data/test1]#cat v_a.frm 
TYPE=VIEW
query=select `test1`.`test`.`id` AS `id`,`test1`.`test`.`name` AS `name` from `test1`.`test`
md5=f6d1f26a16bae6501f65687ce695510e
updatable=1
algorithm=0
definer_user=root
definer_host=localhost
suid=2
with_check_option=0
timestamp=2020-10-27 17:29:46
create-version=1
source=select * from test
client_cs_name=utf8
connection_cl_name=utf8_general_ci
view_body_utf8=select `test1`.`test`.`id` AS `id`,`test1`.`test`.`name` AS `name` from `test1`.`test` 

这里测试用的MySQL5.7 视图的.frm文件可以直接查看但是表的.frm文件查看的时候会出现乱码???

关于MySQL8取消.frm文件,将元数据信息都存放到系统表空间。

猜你喜欢

转载自blog.csdn.net/qq_43250333/article/details/109465864