深入理解MySQL5.7数据目录结构

 更新时间:2023年08月21日 11:21:00   作者:coder_szc  
本文主要简单介绍一下MySQL数据文件目录的物理结构和作用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

以CentOS7为例,数据目录为/var/lib/mysql/,其内容如下:

[root@scentos szc]# ll /var/lib/mysql/
total 122952
-rw-r----- 1 mysql mysql       56 Jan 15 16:02 auto.cnf
-rw------- 1 mysql mysql     1680 Jan 15 16:02 ca-key.pem
-rw-r--r-- 1 mysql mysql     1112 Jan 15 16:02 ca.pem
-rw-r--r-- 1 mysql mysql     1112 Jan 15 16:02 client-cert.pem
-rw------- 1 mysql mysql     1676 Jan 15 16:02 client-key.pem
-rw-r----- 1 mysql mysql      289 Jan 15 16:48 ib_buffer_pool
-rw-r----- 1 mysql mysql 12582912 Jan 15 17:31 ibdata1
-rw-r----- 1 mysql mysql 50331648 Jan 15 17:31 ib_logfile0
-rw-r----- 1 mysql mysql 50331648 Jan 15 16:02 ib_logfile1
-rw-r----- 1 mysql mysql 12582912 Jan 15 17:54 ibtmp1
drwxr-x--- 2 mysql mysql     4096 Jan 15 16:02 mysql
srwxrwxrwx 1 mysql mysql        0 Jan 15 16:51 mysql.sock
-rw------- 1 mysql mysql        6 Jan 15 16:51 mysql.sock.lock
drwxr-x--- 2 mysql mysql     8192 Jan 15 16:02 performance_schema
-rw------- 1 mysql mysql     1676 Jan 15 16:02 private_key.pem
-rw-r--r-- 1 mysql mysql      452 Jan 15 16:02 public_key.pem
-rw-r--r-- 1 mysql mysql     1112 Jan 15 16:02 server-cert.pem
-rw------- 1 mysql mysql     1676 Jan 15 16:02 server-key.pem
drwxr-x--- 2 mysql mysql     8192 Jan 15 16:02 sys
drwxr-x--- 2 mysql mysql      207 Jan 15 19:15 test

其中mysqlsys等为数据库,即一个数据库对应的一个目录。

  • ibdata1存放的是InnoDB的元数据、变更缓冲区、双写缓冲区和撤销日志。
  • ib_logfile0ib_logfile1存放普通日志。
  • ib_buffer_pool存放缓存池信息。

test数据库为例,其中内容如下:

[root@scentos szc]# ll /var/lib/mysql/test/
total 260
-rw-r----- 1 mysql mysql    61 Jan 15 16:53 db.opt
-rw-r----- 1 mysql mysql  8650 Jan 15 17:28 emp_test.frm
-rw-r----- 1 mysql mysql 98304 Jan 15 17:30 emp_test.ibd
-rw-r----- 1 mysql mysql  8560 Jan 15 16:54 test1.frm
-rw-r----- 1 mysql mysql 98304 Jan 15 16:55 test1.ibd
-rw-r----- 1 mysql mysql   278 Jan 15 19:27 test1.TRG
-rw-r----- 1 mysql mysql  8586 Jan 15 19:10 test_myisam.frm
-rw-r----- 1 mysql mysql     0 Jan 15 19:10 test_myisam.MYD
-rw-r----- 1 mysql mysql  1024 Jan 15 19:10 test_myisam.MYI
-rw-r----- 1 mysql mysql   285 Jan 15 19:28 test_myisam.TRG
-rw-r----- 1 mysql mysql    43 Jan 15 19:28 test_trigger_on_myisam.TRN
-rw-r----- 1 mysql mysql    37 Jan 15 19:27 test_trigger_on_test1.TRN
-rw-r----- 1 mysql mysql   497 Jan 15 19:15 test_view_2.frm
-rw-r----- 1 mysql mysql   399 Jan 15 19:15 test_view.frm

db.opt存放数据库的配置信息。
对于一张InnoDB数据表而言:

  • frm文件存放表结构信息。
    • 若采用默认的独立表空间结构,则使用ibd文件存放表数据信息;
    • 否则就是系统表空间结构,使用ibdata文件存放表数据。
  • TRG文件存放触发器信息;

对于一张myisam表而言:

  • frm文件存放表结构信息;
  • MYD文件存放表数据信息;
  • MYI文件存放表索引信息;
  • TRG文件存放触发器信息;

对于视图而言:仅有frm文件,存放视图结构信息。
对于触发器而言:仅有TRN保存其对应的触发器信息。

到此这篇关于深入理解MySQL5.7数据目录结构的文章就介绍到这了,更多相关MySQL5.7目录结构内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL 字符串模式匹配 扩展正则表达式模式匹配

    MySQL 字符串模式匹配 扩展正则表达式模式匹配

    MySQL提供标准的SQL模式匹配,以及一种基于象Unix实用程序如vi、grep和sed的扩展正则表达式模式匹配的格式。
    2010-03-03
  • 关于Mysql搭建主从复制功能的步骤实现

    关于Mysql搭建主从复制功能的步骤实现

    这篇文章主要介绍了关于Mysql搭建主从复制功能的步骤实现,在实际的生产中,为了解决Mysql的单点故障已经提高MySQL的整体服务性能,一般都会采用主从复制,需要的朋友可以参考下
    2023-05-05
  • MySQL关闭过程详解和安全关闭MySQL的方法

    MySQL关闭过程详解和安全关闭MySQL的方法

    这篇文章主要介绍了MySQL关闭过程详解和安全关闭MySQL的方法,在了解了关闭过程后,出现故障能迅速定位,本文还给出了安全关闭MySQL的建议及方法,需要的朋友可以参考下
    2014-08-08
  • MySQL可重复读级别能够解决幻读吗

    MySQL可重复读级别能够解决幻读吗

    这篇文章主要给大家介绍了关于MySQL可重复读级别能否解决幻读的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • SQL中Lag()和LEAD()的用法示例详解

    SQL中Lag()和LEAD()的用法示例详解

    LAG和LEAD函数为SQL开发者提供了强大的数据洞察力,尤其是在处理时间序列和趋势分析问题时,下面这篇文章主要介绍了SQL中Lag()和LEAD()用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-10-10
  • 分享MySQL 主从延迟与读写分离的七种解决方案

    分享MySQL 主从延迟与读写分离的七种解决方案

    这篇文章主要介绍了分享MySQL 主从延迟与读写分离的七种解决方案,常见的解决方式是分库分表,每次读写都是操作主库的一个分表,从库只用来做数据备份。当主库发生故障时,主从切换,保证集群的高可用性,下面详细的相关资料介绍,需要的小伙伴可以参考一下
    2022-03-03
  • 如何查看MySQL连接的root密码

    如何查看MySQL连接的root密码

    前几天在用Navicat去连本地的MySQL的时候发现我已经忘了密码了,试了网上很多方式都不行…后来发现其实可以自己直接去看当初设置的密码,下面将方法总结出来分享给大家,有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2017-01-01
  • Centos下 修改mysql密码的方法

    Centos下 修改mysql密码的方法

    这篇文章主要介绍了Centos下 修改mysql密码的方法,需要的朋友可以参考下
    2017-02-02
  • Mysql中的单表最大记录是多少

    Mysql中的单表最大记录是多少

    这篇文章主要介绍了Mysql中的单表最大记录是多少问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • MySQL中Like概念及用法讲解

    MySQL中Like概念及用法讲解

    在本篇文章里小编给大家整理的是一篇关于MySQL中Like概念及用法讲解内容,有兴趣的朋友们可以学习参考下。
    2021-02-02

最新评论