以下是MySQL数据目录中每个文件的含义和作用详细解释:


​核心系统文件​

  1. auto.cnf

    • ​作用​​:存储MySQL实例的​​唯一UUID​​(Universally Unique Identifier)。
    • ​重要性​​:用于主从复制、组复制(Group Replication)中标识唯一节点,不可重复。

​SSL/TLS安全认证文件​

  1. ca-key.pem

    • ​作用​​:CA(证书颁发机构)的​​私钥文件​​,用于签署其他证书。
  2. ca.pem

    • ​作用​​:CA的​​证书文件​​,客户端和服务端用它验证对方身份。
  3. server-cert.pem

    • ​作用​​:服务端​​证书​​,由CA签名,用于向客户端证明身份。
  4. server-key.pem

    • ​作用​​:服务端​​私钥​​,用于建立加密连接。
  5. client-cert.pem

    • ​作用​​:客户端​​证书​​(若启用双向认证)。
  6. client-key.pem

    • ​作用​​:客户端​​私钥​​(用于双向认证)。
  7. private_key.pempublic_key.pem

    • ​作用​​:MySQL的​​RSA密钥对​​,用于密码加密传输(如sha256_password插件)。

​InnoDB引擎核心文件​

  1. #ib_16384_0.dblwr#ib_16384_1.dblwr

    • ​作用​​:​​Doublewrite Buffer文件​​,确保数据页写入的原子性,防止部分写(partial write)崩溃导致的损坏。
  2. ibdata1

    • ​作用​​:InnoDB​​系统表空间文件​​,存储数据字典、Change Buffer、Undo Logs(早期版本),以及未启用独立表空间的表数据。
  3. ib_buffer_pool

    • ​作用​​:保存​​缓冲池状态​​,服务器关闭时将内存中的热数据页转储到此文件,重启时预热加速恢复。
  4. ibtmp1

    • ​作用​​:InnoDB​​临时表空间​​,存放临时表及排序操作中的临时数据。
  5. #innodb_redo/

    • ​作用​​:目录存储​​重做日志文件(Redo Log)​​(MySQL 8.0+默认格式),记录所有修改操作用于崩溃恢复。
  6. #innodb_temp/

    • ​作用​​:存放InnoDB临时表空间(非用户临时表),如优化器临时数据结构。
  7. undo_001undo_002

    • ​作用​​:​​独立Undo表空间文件​​(MySQL 8.0+默认),存储事务回滚所需的Undo Logs(不再存储在ibdata1中)。

​MySQL系统数据库​

  1. mysql/

    • ​作用​​:mysql系统数据库的目录,存储用户权限、存储过程、事件等信息。
  2. mysql.ibd

    • ​作用​​:MySQL 8.0+中mysql系统数据库的​​独立表空间文件​​(替代早期ibdata1存储)。
  3. performance_schema/

    • ​作用​​:performance_schema数据库目录,存储性能监控指标(如锁、内存使用等)。
  4. sys/

    • ​作用​​:sys系统数据库目录,提供性能视图和工具(基于performance_schema)。

​二进制日志与主从复制​

  1. mysql-bin.000001mysql-bin.000002mysql-bin.000003

    • ​作用​​:​​二进制日志文件(Binlog)​​,记录所有更改数据的SQL语句,用于主从复制和点恢复。
  2. mysql-bin.index

    • ​作用​​:记录所有Binlog文件名的​​索引文件​​,帮助MySQL快速定位日志。

​运行状态与日志​

  1. mysqld.err

    • ​作用​​:MySQL​​错误日志文件​​,记录服务启动、运行中的错误和警告信息。
  2. mysql.pid

    • ​作用​​:存储MySQL服务器进程的​​进程ID(PID)​​,服务关闭时自动删除。
  3. mysql.sock

    • ​作用​​:​​Unix域套接字文件​​,用于本地客户端连接(如mysql -uroot)。
  4. mysql.sock.lock

    • ​作用​​:锁定mysql.sock文件的锁文件,防止多进程冲突。

​其他文件​

  1. mysql_summary.txt

    • ​作用​​:​​用户生成文本​​(非MySQL自动创建),可能包含状态摘要(如SHOW ENGINE INNODB STATUS输出)。
    • ​权限​​:由root用户创建(非MySQL自动生成)。

​关键目录总结​

  • #innodb_redo/#innodb_temp/​:8.0+新格式的InnoDB日志和临时文件目录。

  • ​系统数据库目录​​(mysql/performance_schema/sys/):存储核心元数据和监控信息。


​文件结构特点​

  • ​权限​​:多数文件属主为mysql用户,确保服务正常运行。

  • ​大小变化​​:

    • 动态增长:ibdata1(系统表空间)、ibtmp1(临时表空间)、Binlog文件。
    • 固定大小:#ib_16384_*.dblwr(Doublewrite文件大小固定)。

通过此结构,MySQL实现数据存储、事务安全、崩溃恢复和性能优化。

MySQL 数据目录文件含义和作用的更多相关文章

  1. linux mysql 数据目录文件夹移动及所遇到的问题

    一 .如果是fedora下用rpm包安装的mysql,修改方法如下: 如果这里说的不够清楚,可以到http://www.vipkj.net/post-839.html给我留言 MySQL默认的数据文件 ...

  2. mysql 免安装版文件含义及作用

    相信很多同学在首次安装mysql 免安装版时,对其中的文件不解,下面以 5.6.24为例讲解这里个文件代表什么: bin: 存放编译好的工具 data:存放数据库数据的位置(就是我们数据库存放的地方) ...

  3. 阿里云安装LNMP以及更改网站文件和MySQL数据目录

    LNMP安装了哪些软件?安装目录在哪LNMP相关软件安装目录Nginx 目录: /usr/local/nginx/MySQL 目录 : /usr/local/mysql/MySQL数据库所在目录:/u ...

  4. mysql.sock文件的作用

    mysql.sock应该mysql的主机和客户机在同一host上的时候,使用unix domain socket做为通讯协议的载体,它比tcp快.Mysql有两种连接方式: (1)TCP/IP  (2 ...

  5. 【转】mysql.sock文件的作用

    Mysql有两种连接方式: (1),TCP/IP (2),socket 对mysql.sock来说,其作用是程序与mysqlserver处于同一台机器,发起本地连接时可用. (如果程序跟mysql在同 ...

  6. MySQL数据库文件

    MySQL数据库文件 本文档从MySQL数据库和存储引擎层面介绍各种类型的文件. 参数文件(my.cnf) 错误日志(error log) 二进制日志文件(binary log) 慢查询日志(slow ...

  7. Mysql启动找不到mysql.sock文件问题(Centos7)

    刚装完Mysql5.7,将Mysql添加到开机自启.reboot之后mysql服务却没启动起来, 直接输入mysql –uroot –p ,出现如下错误,找不到mysql.sock文件.用servic ...

  8. Linux 系统根目录下各个文件夹的作用

    原文: https://blog.csdn.net/qq_26941173/article/details/78376760 /bin 系统由很多放置可执行文件的目录,但是bin目录比较特殊.因为bi ...

  9. MySQL数据库中delimiter的作用概述

    以下的文章主要是向大家描述的是MySQL数据库中delimiter的作用是什么?我们一般都认为这个命令和存储过程关系不大,到底是不是这样的呢?以下的文章将会给你相关的知识,望你会有所收获. 其实就是告 ...

  10. centos6.4 挂载新盘并移动mysql数据目录

    1 centos 挂载新盘并格式化 以vmware workstation12 中安装的centos6. 虚拟机为例进行演示 关机,添加硬盘 开机,格式化硬盘,并挂载 通过命令查看硬盘 fdisk – ...

随机推荐

  1. 使用 Python 接口编译和优化模型 (AutoTVM)

    在本节,将介绍与TVMC相同的知识,但展示的是如何使用Python API来完成它.完成本节后,我们将使用适用于 TVM 的 Python API 来完成以下任务: 为TVM Runtime编译预训练 ...

  2. 网络编程:UDP connect连接

    UDP connect的作用 UDP connect函数的调用,并不会引起像TCP连接那样,和服务器目标端网络交互,并不会触发所谓的"握手"报文发送和应答. UDP套接字进行con ...

  3. 物联网之使用Vertx实现TCP最佳实践【响应式】

    小伙伴们,你们好呀,我是老寇,跟我一起学习使用Vertx实现TCP-Server 实现TCP-Server[响应式] Vertx-Core地址 实现过程 查看源码 代码比较简单,懒得讲解啦 代码比较简 ...

  4. React Native开发鸿蒙Next---图片浏览与保存的问题交流

    React Native开发鸿蒙Next---图片浏览与保存的问题交流 之前介绍过利用鸿蒙三方RN组件@react-native-camera-roll/camera-roll保存图片到相册. Rea ...

  5. 腾讯云对象存储工具类和demo

    使用 package com.ruoyi; import java.io.File; public class mytest { private static String secretId = &q ...

  6. ElasticSearch介绍及单机版安装

    概述 ElasticSearch官网:https://www.elastic.co/cn/elasticsearch GitHub地址:https://github.com/elastic/elast ...

  7. CRD的简单介绍

    介绍 Custom Resource Define 简称 CRD,是 Kubernetes(v1.7+)为提高可扩展性,让开发者去自定义资源的一种方式. CRD 资源可以动态注册到集群中,注册完毕后, ...

  8. 详解鸿蒙Next仓颉开发语言中的全屏模式

    大家好,今天跟大家分享一下仓颉开发语言中的全屏模式. 和ArkTS一样,仓颉的新建项目默认是非全屏模式的,如果你的应用颜色比较丰富,就会发现屏幕上方和底部的留白,这是应用自动避让了屏幕上方摄像头区域和 ...

  9. 利用 Kubernetes 降本增效?EasyMR 基于 Kubernetes 部署的探索实践

    Kubernetes 是用于编排容器化应用程序的云原生系统.最初由 Google 创建,如今由 Cloud Native Computing Foundation(CNCF)维护更新. Kuberne ...

  10. DRF之频率组件源码分析

    DRF之频率组件源码分析 [一]频率组件介绍 Django Rest Framework(DRF)中的频率组件是用于限制API端点的访问频率的一种机制. 频率组件可以帮助你控制用户对API的请求频率, ...