以下是MySQL数据目录中每个文件的含义和作用详细解释:
核心系统文件
-
auto.cnf- 作用:存储MySQL实例的唯一UUID(Universally Unique Identifier)。
- 重要性:用于主从复制、组复制(Group Replication)中标识唯一节点,不可重复。
SSL/TLS安全认证文件
-
ca-key.pem- 作用:CA(证书颁发机构)的私钥文件,用于签署其他证书。
-
ca.pem- 作用:CA的证书文件,客户端和服务端用它验证对方身份。
-
server-cert.pem- 作用:服务端证书,由CA签名,用于向客户端证明身份。
-
server-key.pem- 作用:服务端私钥,用于建立加密连接。
-
client-cert.pem- 作用:客户端证书(若启用双向认证)。
-
client-key.pem- 作用:客户端私钥(用于双向认证)。
-
private_key.pem和public_key.pem- 作用:MySQL的RSA密钥对,用于密码加密传输(如
sha256_password插件)。
- 作用:MySQL的RSA密钥对,用于密码加密传输(如
InnoDB引擎核心文件
-
#ib_16384_0.dblwr和#ib_16384_1.dblwr- 作用:Doublewrite Buffer文件,确保数据页写入的原子性,防止部分写(partial write)崩溃导致的损坏。
-
ibdata1- 作用:InnoDB系统表空间文件,存储数据字典、Change Buffer、Undo Logs(早期版本),以及未启用独立表空间的表数据。
-
ib_buffer_pool- 作用:保存缓冲池状态,服务器关闭时将内存中的热数据页转储到此文件,重启时预热加速恢复。
-
ibtmp1- 作用:InnoDB临时表空间,存放临时表及排序操作中的临时数据。
-
#innodb_redo/- 作用:目录存储重做日志文件(Redo Log)(MySQL 8.0+默认格式),记录所有修改操作用于崩溃恢复。
-
#innodb_temp/- 作用:存放InnoDB临时表空间(非用户临时表),如优化器临时数据结构。
-
undo_001和undo_002- 作用:独立Undo表空间文件(MySQL 8.0+默认),存储事务回滚所需的Undo Logs(不再存储在
ibdata1中)。
- 作用:独立Undo表空间文件(MySQL 8.0+默认),存储事务回滚所需的Undo Logs(不再存储在
MySQL系统数据库
-
mysql/- 作用:
mysql系统数据库的目录,存储用户权限、存储过程、事件等信息。
- 作用:
-
mysql.ibd- 作用:MySQL 8.0+中
mysql系统数据库的独立表空间文件(替代早期ibdata1存储)。
- 作用:MySQL 8.0+中
-
performance_schema/- 作用:
performance_schema数据库目录,存储性能监控指标(如锁、内存使用等)。
- 作用:
-
sys/- 作用:
sys系统数据库目录,提供性能视图和工具(基于performance_schema)。
- 作用:
二进制日志与主从复制
-
mysql-bin.000001、mysql-bin.000002、mysql-bin.000003- 作用:二进制日志文件(Binlog),记录所有更改数据的SQL语句,用于主从复制和点恢复。
-
mysql-bin.index- 作用:记录所有Binlog文件名的索引文件,帮助MySQL快速定位日志。
运行状态与日志
-
mysqld.err- 作用:MySQL错误日志文件,记录服务启动、运行中的错误和警告信息。
-
mysql.pid- 作用:存储MySQL服务器进程的进程ID(PID),服务关闭时自动删除。
-
mysql.sock- 作用:Unix域套接字文件,用于本地客户端连接(如
mysql -uroot)。
- 作用:Unix域套接字文件,用于本地客户端连接(如
-
mysql.sock.lock- 作用:锁定
mysql.sock文件的锁文件,防止多进程冲突。
- 作用:锁定
其他文件
-
mysql_summary.txt- 作用:用户生成文本(非MySQL自动创建),可能包含状态摘要(如
SHOW ENGINE INNODB STATUS输出)。 - 权限:由
root用户创建(非MySQL自动生成)。
- 作用:用户生成文本(非MySQL自动创建),可能包含状态摘要(如
关键目录总结
-
#innodb_redo/和#innodb_temp/:8.0+新格式的InnoDB日志和临时文件目录。 -
系统数据库目录(
mysql/、performance_schema/、sys/):存储核心元数据和监控信息。
文件结构特点
-
权限:多数文件属主为
mysql用户,确保服务正常运行。 -
大小变化:
- 动态增长:
ibdata1(系统表空间)、ibtmp1(临时表空间)、Binlog文件。 - 固定大小:
#ib_16384_*.dblwr(Doublewrite文件大小固定)。
- 动态增长:
通过此结构,MySQL实现数据存储、事务安全、崩溃恢复和性能优化。
浙公网安备 33010602011771号