以下是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. Delegate的Target,Method

    在 C# 中,Delegate 是一种引用方法的类型,可以将方法视为对象进行传递和操作.Delegate 类型的实例可以用来引用一个或多个方法,然后可以将这些引用作为参数传递给其他方法,或者用来调用这 ...

  2. 基于Python运用PyComCAD进行Autocad二次开发实例汇集

    本文将对运用Pycomcad库(Pycomcad详见,https://github.com/JohnYang1210/PycomCAD)做的一些项目及其效果图进行展示(欢迎各位老铁pull reque ...

  3. 通过JS模板引擎实现动态模块组件(Vite+JS+Handlebars)

    1. 引言 在上一篇文章<实现一个前端动态模块组件(Vite+原生JS)>中,笔者通过原生的JavaScript实现了一个动态的模块组件.但是这个实现并不完善,最大的问题就是功能逻辑并没有 ...

  4. 第9.2讲、Tiny Decoder(带 Mask)详解与实战

    自己搭建一个 Tiny Decoder(带 Mask),参考 Transformer Encoder 的结构,并添加 Masked Multi-Head Self-Attention,它是 Decod ...

  5. 把多个文件打包压缩成tar.gz文件并解压的Java实现

    压缩文件   在Java中,可以 使用GZIPOutputStream创建gzip(gz)压缩文件,它在commons-compress下面,可以通过如下的maven坐标引入: <depende ...

  6. K8s新手系列之探针

    概述 官方文档: https://kubernetes.io/zh-cn/docs/concepts/configuration/liveness-readiness-startup-probes/ ...

  7. FFmpeg开发笔记(六十二)Windows给FFmpeg集成H.266编码器vvenc

    ​<FFmpeg开发实战:从零基础到短视频上线>该书的第八章介绍了如何在Windows环境给FFmpeg集成H.264和H.265的编码器,如今H.266的编码器vvenc也日渐成熟,从7 ...

  8. 对apache服务器环境下利用.htaccess配置文件完成文件上传的理解

    对apache服务器环境下利用.htaccess配置文件完成文件上传的理解 .htaccess 文件是 Apache Web 服务器中的配置文件,用于控制服务器的行为.其格式非常简单,通常由一系列指令 ...

  9. AI大模型应用开发入门-LangChain开发聊天机器人ChatBot

    在大模型应用开发中,状态管理 和 对话追踪 是不可忽视的重要能力,尤其在需要保存上下文.重放对话或进行异步处理时尤为关键. 今天我们来演示如何用 LangChain + OpenAI 的 GPT 模型 ...

  10. 在MySQL中悲观锁及乐观锁的应用

    本文由 ChatMoney团队出品 在数据库管理系统中,锁机制是保证数据一致性和并发控制的重要手段.MySQL,作为广泛使用的数据库系统之一,提供了多种锁策略来处理并发访问时可能引发的数据不一致性问题 ...