目录
1.MySQL根目录
MySQL根目录:
LICENSE:软件许可声明
README:readme文件
bin:用于存放一些可执行文件
data:数据目录,用于存放日志和数据文件
docs:文档目录,用于存放帮助文档
include:用于存放一些头文件
keyring:表空间加密插件
lib:用于存放一些库文件
man:帮助指令,类似于linux下的man指令
share:用于存放字符集、语言以及mysql系统表的SQL文件
support-files:存放了一些mysql启动脚本
2.data目录
data目录:
1. auto.cnf文件
MySQL数据目录中通常存在一个名为auto.cnf文件,存储了server-uuid的值,如下所示:
MySQL启动时,会自动从data_dir/auto.cnf 文件中获取server-uuid值,并将这个值存储在全局变量server_uuid中。如果这个值或者这个文件不存在,那么将会生成一个新的uuid值,并将这个值保存在auto.cnf文件中。server-uuid与server-id一样,用于标识MySQL实例在集群中的唯一性,这两个参数在主从复制中具有重要作用,默认情况下,如果主、从库的server-uuid或者server-id的值一样,将会导致主从复制报错中断。
2.bin.log.*
binlog.000001、binlog.000002和binlog.index
binlog是记录所有数据库表结构变更(例如CREATE、ALTER TABLE…)以及表数据修改(INSERT、UPDATE、DELETE…)的二进制日志。
binlog不会记录SELECT和SHOW这类操作,因为这类操作对数据本身并没有修改,但你可以通过查询通用日志来查看MySQL执行过的所有语句。
binlog.index文件为binlog的索引文件,用于记录哪些日志文件正在被使用
binlog.00000*为日志文件,记录数据库所有的DDL和DML语句
3.*.pem
ca-key.pem、ca.pem、client-cert.pem、client-key.pem、private_key.pem、public_key.pem、server-cert.pem、server-key.pem为mysql的证书文件,用于ssl认证。
4.ib_buffer_pool
保存缓冲池中页面的表空间ID和页面ID,用于重启恢复缓冲池。buffer pool(缓冲池)是主内存中的一个区域,在InnoDB访问表数据和索引数据的时候,会顺便把对应的数据页缓存到缓冲池中。如果直接从缓冲池中直接读取数据将会加快处理速度。
5.ib_logfile*
ib_logfile0和ib_logfile1为redo log磁盘文件,默认情况下,重做日志存在磁盘的这两个文件中,循环的方式写入重做日志。
6.ibdata1
系统表空间文件
7.ibtmp1
默认临时表空间文件,可通过innodb_temp_data_file_path属性指定文件位置
8.mysql
存放通用查询日志和慢查询日志
9.mysql.ibd
系统表空间索引及数据
10.mysqld.local.err
错误日志
11.mysqld.local.pid
mysql进程号
12.undo_001、undo_002
undo日志文件(回滚日志)
13.各种独立表空间
performance_schema、sys为数据库独立表空间。practice是我自己创建的数据库。