深入理解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目录结构内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 数据库性能测试之sysbench工具的安装与用法详解

    数据库性能测试之sysbench工具的安装与用法详解

    sysbench是一个很不错的数据库性能测试工具,这篇文章主要给大家介绍了关于数据库性能测试之sysbench工具的安装与用法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • 集群运维自动化工具ansible使用playbook安装mysql

    集群运维自动化工具ansible使用playbook安装mysql

    本文主要介绍了如何使用playbook安装mysql,需要的朋友可以参考下
    2014-07-07
  • MySQL数据库基础命令大全(收藏)

    MySQL数据库基础命令大全(收藏)

    今天小编给大家整理一下mysql数据库的基础命令,特此分享到脚本之家平台,供大家参考下
    2016-12-12
  • mysql count()函数不计算null和空值问题

    mysql count()函数不计算null和空值问题

    这篇文章主要介绍了mysql count()函数不计算null和空值问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • MySQL数据库迁移到Oracle数据库的完整步骤记录

    MySQL数据库迁移到Oracle数据库的完整步骤记录

    在研发过程中可能会用到将表数据库中的表结构及数据迁移到另外一种数据库中,比如说从mysql中迁移到oracle中,这篇文章主要给大家介绍了关于MySQL数据库迁移到Oracle数据库的完整步骤,需要的朋友可以参考下
    2024-06-06
  • navicat连接mysql时出现1045错误的解决方法

    navicat连接mysql时出现1045错误的解决方法

    这篇文章主要为大家详细介绍了navicat连接mysql时出现1045错误的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • MySQL实现分页查询的方法

    MySQL实现分页查询的方法

    这篇文章介绍了MySQL实现分页查询的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12
  • MySQL是如何处理排序的(最新推荐)

    MySQL是如何处理排序的(最新推荐)

    在MySQL的查询中常常会用到order by和group by这两个关键字,它们的相同点是都会对字段进行排序,那查询语句中的排序是如何实现的呢,下面跟随小编一起看看吧
    2024-05-05
  • mysql中文排序注意事项与实现方法

    mysql中文排序注意事项与实现方法

    mysql在查询字符串时是大小写不敏感的,在编绎mysql时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象,比较应急的方法是对于包含中文的字段加上"binary"属性,使之作二进制比较
    2008-09-09
  • Windows下MySQL 5.6安装及配置详细图解(大图版)

    Windows下MySQL 5.6安装及配置详细图解(大图版)

    这篇文章主要介绍了Windows下MySQL 5.6安装及配置详细图解(大图版),需要的朋友可以参考下
    2016-04-04

最新评论