Mysql性能优化(一) mysql的数据库文件存储

一、mysql的物理文件默认体系结构

  • 默认采用的是在linux系统下yum安装mysql的默认文件结构(/var/lib/mysql)

  • 下面是在navcate下查看mysql
  • (比较有意思的是建立的数据库名称为高性能mysql结果存储的数据库文件目录是(@9ad8@6027@80fdmysql)

数据库文件:

  • 一个数据库对应一个文件夹,创建了六个数据库 其中: 高性能mysql对应的是@9ad8@6027@80fdmysql那么information_schema这个数据库呢?

information_schema它叫做信息数据库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息。在information_schema中,有数个只读表。它们实际上是视图,而不是基本表,所以无法看到与之相关的任何文件。

这张图(information_schema的TABLES表)显示了我们高性能mysql的People表、用的存储引擎的方式、表中的字段信息等等。关于更多information_schema的内容请参考MySQL 5.7 INFORMATION_SCHEMA 详解

  • 以高性能mysql这个数据库为例

  • 我们可以看到后缀名为 .idb .frm .MYI .MYD .opt的文件,根据表存储引擎不同所生成的表文件文件也会不同。通过下面的三张图演示存储引擎不同对应文件不同的区别(innodb和MYISAM)为例

 

通用文件与存储引擎无关
后缀名 描述
.frm 存储数据表的框架结构、表定义信息
.opt 保存的是数据库的配置信息,比如编码信息
innodb表文件存储结构简单描述
文件名 出现场景 存储内容 实现方式 描述
table_name.idb 独占表空间 表的数据内容以及索引内容 在配置文件(my.cnf)中设置: innodb_file_per_table=on 每一个表生成一个table_name.idb文件
ibdata1(默认大小10MB) 共享表空间 所有表的数据内容以及索引内容 在配置文件(my.cnf)中设置: innodb_file_per_table=off 所有表的数据,索引文件全部放在一个文件中
MYISAM的表文件存储结构简单描述
文件名 存储内容 描述
table_name.MYI 存储表的索引信息 每一个表生成一个table_name.MYI文件
table_name.MYD 存储表的数据信息 每一个表生成一个table_name.MYD文件

 

其他文件:

  • redo重做日志文件:ib_logfile0,ib_logfile1,是支持事务性引擎的redo日志文件
  • 临时表空间:ibtemp1,存储临时对象的空间,比如临时表对象等。
  • mysql.sock:作用是MySQL服务器本身的客户端连接的时候,发起本地连接时可用
  • mysql配置文件:/etc/my.cnf
  • 日志文件的位置:cd /var/log/mysqld.log

具体详细请参考MySQL 物理文件体系结构的整理说明

 

 

 

 

 

 

发布了54 篇原创文章 · 获赞 15 · 访问量 1万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览