【MySQL】对 MySQL 数据目录下的文件、文件夹的解读

对 MySQL 数据库实例数据目录下的目录做一个解读

# ls -l  /var/lib/mysql/data/
total 290912
drwx------. 2 mysql mysql      4096 Aug 29  2019 mysql
drwx------. 2 mysql mysql      4096 Aug 29  2019 performance_schema
drwx------. 2 mysql mysql         6 Aug 29  2019 test

目录 /var/lib/mysql/data/ 是 MySQL 数据目录的子目录。
这个目录通常包含 MySQL 数据库实例的实际数据文件和目录。

total 290912
drwx------. 2 mysql mysql      4096 Aug 29  2019 mysql
drwx------. 2 mysql mysql      4096 Aug 29  2019 performance_schema
drwx------. 2 mysql mysql         6 Aug 29  2019 test
  • mysql:这是目录的名称。mysql 目录通常包含 MySQL 的系统数据库和相关表。

  • performance_schema:这是 Performance Schema 数据库的目录。Performance Schema 用于收集数据库服务器的性能数据和统计信息,帮助进行性能分析。

  • test:这是一个数据库的目录,通常包含名为 test 的数据库的表和数据文件。test 数据库是一个默认的测试数据库,通常用于测试和实验。

这些目录下会有数据库表、索引、日志等文件,用于存储实际的数据和管理信息。

对 MySQL 数据目录下的文件、目录的解读

# ls -l  /var/lib/mysql/data/

total 290912
-rw-rw----. 1 mysql mysql        56 Aug 29  2019 auto.cnf
-rw-rw----. 1 mysql mysql 146800640 Sep  6 15:18 ibdata1
-rw-rw----. 1 mysql mysql  50331648 Sep  6 15:18 ib_logfile0
-rw-rw----. 1 mysql mysql  50331648 Sep  6 11:27 ib_logfile1
-rw-rw----. 1 mysql mysql  50331648 Sep  6 15:19 ib_logfile2
-rw-rw----. 1 mysql mysql       133 Sep  6 15:18 master.info
drwx------. 2 mysql mysql      4096 Aug 29  2019 mysql
-rw-rw----  1 mysql mysql       214 Aug  9 15:18 mysqld-relay-bin.00001
-rw-rw----  1 mysql mysql       280 Aug  9 15:18 mysqld-relay-bin.00002
drwx------. 2 mysql mysql      4096 Aug 29  2019 performance_schema
-rw-rw----. 1 mysql mysql        69 Sep  6 15:18 relay-log.info
-rw-rw----  1 mysql mysql        52 Aug  9 15:18 slave-relay-bin.index
drwx------. 2 mysql mysql         6 Aug 29  2019 test


# ls -l /var/lib/mysql/data/test/

rw-rw----. 1 mysql mysql 61 Aug 30  2019 /var/lib/mysql/data/3gol/db.opt
rw-rw----. 1 mysql mysql       13026 Aug 30  2019 /var/lib/mysql/data/test/t_test.frm
rw-rw----. 1 mysql mysql 20522729472 Sep  6 15:20 /var/lib/mysql/data/test/t_test.ibd

MySQL 数据目录下的文件和文件夹是 MySQL 数据存储和操作的核心部分。
以下是对你提供的目录结构和文件的详细解读:

根目录文件和文件夹(/var/lib/mysql/data/

  1. auto.cnf:

    • 类型: 文件
    • 权限: -rw-rw----
    • 大小: 56 字节
    • 描述: 存储自动生成的服务器唯一标识符(UUID)。MySQL 使用此 UUID 来识别当前的服务器实例。
  2. ibdata1:

    • 类型: 文件
    • 权限: -rw-rw----
    • 大小: 146800640 字节(约 140 MB)
    • 描述: InnoDB 存储引擎的系统表空间文件,包含了 InnoDB 的数据和索引。这个文件是 InnoDB 存储引擎的核心数据文件之一。
  3. ib_logfile0, ib_logfile1, ib_logfile2:

    • 类型: 文件
    • 权限: -rw-rw----
    • 大小: 每个文件 50331648 字节(约 48 MB)
    • 描述: InnoDB 重做日志文件(redo log files),用于记录事务日志和崩溃恢复。ib_logfile0ib_logfile1 是默认的日志文件,ib_logfile2 是额外的日志文件(在一些配置中)。
  4. master.info:

    • 类型: 文件
    • 权限: -rw-rw----
    • 大小: 133 字节
    • 描述: 存储主服务器的状态信息,用于记录主从复制的状态信息。
  5. mysql:

    • 类型: 文件夹
    • 权限: drwx------
    • 描述: 存储 MySQL 系统数据库(如 mysqlperformance_schemainformation_schemasys 数据库)的数据文件。mysql 文件夹通常包括 MySQL 的用户权限、系统变量等信息。
  6. mysqld-relay-bin.00001, mysqld-relay-bin.00002:

    • 类型: 文件
    • 权限: -rw-rw----
    • 大小: 每个文件的大小未显示(通常很小)
    • 描述: 这些是从服务器的中继日志文件(relay log files),用于记录从主服务器接收到的所有更改日志,用于在从服务器上重放。
  7. performance_schema:

    • 类型: 文件夹
    • 权限: drwx------
    • 描述: 存储性能模式(Performance Schema)的数据文件。Performance Schema 提供了对 MySQL 性能的监控和分析功能。
  8. relay-log.info:

    • 类型: 文件
    • 权限: -rw-rw----
    • 大小: 69 字节
    • 描述: 存储中继日志的状态信息,记录当前处理中继日志的位置。
  9. slave-relay-bin.index:

    • 类型: 文件
    • 权限: -rw-rw----
    • 大小: 52 字节
    • 描述: 记录中继日志文件的索引,用于从服务器确定要处理的日志文件。
  10. test:

    • 类型: 文件夹
    • 权限: drwx------
    • 描述: 存储用户数据库 test 的数据文件。通常用于测试或开发数据库。

test 文件夹内的文件

  1. db.opt:

    • 类型: 文件
    • 权限: -rw-rw----
    • 大小: 61 字节
    • 描述: 存储数据库 test 的选项文件,包含数据库的特定配置,如字符集设置。
  2. t_test.frm:

    • 类型: 文件
    • 权限: -rw-rw----
    • 大小: 13026 字节(约 13 KB)
    • 描述: 表结构文件,包含表 t_test 的定义(表的列、索引等)。
  3. t_test.ibd:

    • 类型: 文件
    • 权限: -rw-rw----
    • 大小: 20522729472 字节(约 19.1 GB)
    • 描述: 表 t_test 的数据文件,存储表数据和索引(如果使用了 InnoDB 存储引擎并且启用了独立表空间)。

这些文件和文件夹是 MySQL 数据目录的核心部分,理解它们的功能和作用对于管理 MySQL 数据库和进行故障排除非常重要。

简要解读MySQL mysql库下各个表的作用和用途

mysql 数据库是 MySQL 系统数据库的一部分,包含了与 MySQL 服务器自身的配置和管理相关的各种信息。

以下是 mysql 数据库下各个表的简要解读:

表解读

  1. columns_priv.frm, columns_priv.MYD, columns_priv.MYI

    • 功能: 存储列级权限信息。
    • 用途: 记录对特定列的权限设置,如哪个用户可以访问或修改哪些列。
  2. db.frm, db.MYD, db.MYI

    • 功能: 存储数据库级的权限信息。
    • 用途: 记录用户对数据库的访问权限,比如哪个用户可以访问或操作哪些数据库。
  3. event.frm, event.MYD, event.MYI

    • 功能: 存储事件调度任务的信息。
    • 用途: 记录和管理计划任务(事件)的设置和执行信息。
  4. func.frm, func.MYD, func.MYI

    • 功能: 存储用户自定义函数的信息。
    • 用途: 记录数据库中的存储函数,包括函数的定义和属性。
  5. general_log.CSM, general_log.CSV, general_log.frm

    • 功能: 存储一般查询日志的配置和数据。
    • 用途: 记录所有执行的 SQL 查询,用于审计和调试。
  6. help_category.frm, help_category.MYD, help_category.MYI

    • 功能: 存储帮助类别的信息。
    • 用途: 提供 MySQL 内置帮助系统的分类信息。
  7. help_keyword.frm, help_keyword.MYD, help_keyword.MYI

    • 功能: 存储帮助关键字的信息。
    • 用途: 记录帮助文档的关键字和描述,用于帮助系统的搜索功能。
  8. help_relation.frm, help_relation.MYD, help_relation.MYI

    • 功能: 存储帮助关系的信息。
    • 用途: 记录帮助文档中的条目关系,用于建立文档之间的连接。
  9. help_topic.frm, help_topic.MYD, help_topic.MYI

    • 功能: 存储帮助主题的信息。
    • 用途: 记录帮助文档的具体内容和主题,用于提供详细的帮助信息。
  10. innodb_index_stats.frm, innodb_index_stats.ibd

    • 功能: 存储 InnoDB 索引的统计信息。
    • 用途: 记录 InnoDB 存储引擎中索引的使用情况和性能统计数据。
  11. innodb_table_stats.frm, innodb_table_stats.ibd

    • 功能: 存储 InnoDB 表的统计信息。
    • 用途: 记录 InnoDB 存储引擎中表的使用情况和性能统计数据。
  12. ndb_binlog_index.frm, ndb_binlog_index.MYD, ndb_binlog_index.MYI

    • 功能: 存储 NDB 存储引擎的二进制日志索引信息。
    • 用途: 记录 NDB 存储引擎中二进制日志的索引数据。
  13. plugin.frm, plugin.MYD, plugin.MYI

    • 功能: 存储插件的信息。
    • 用途: 记录 MySQL 插件的相关信息,包括插件的名称和描述。
  14. proc.frm, proc.MYD, proc.MYI

    • 功能: 存储存储过程的信息。
    • 用途: 记录数据库中的存储过程的定义和属性。
  15. procs_priv.frm, procs_priv.MYD, procs_priv.MYI

    • 功能: 存储存储过程的权限信息。
    • 用途: 记录用户对存储过程的访问权限设置。
  16. proxies_priv.frm, proxies_priv.MYD, proxies_priv.MYI

    • 功能: 存储代理用户的权限信息。
    • 用途: 记录代理用户的访问权限设置,通常用于设置代理功能的权限。
  17. servers.frm, servers.MYD, servers.MYI

    • 功能: 存储服务器信息。
    • 用途: 记录 MySQL 服务器的配置信息。
  18. slave_master_info.frm, slave_master_info.ibd

    • 功能: 存储复制主服务器的信息。
    • 用途: 记录复制关系的主服务器信息,主要用于设置和管理主从复制。
  19. slave_relay_log_info.frm, slave_relay_log_info.ibd

    • 功能: 存储从服务器的中继日志信息。
    • 用途: 记录从服务器的中继日志的状态和位置信息。
  20. slave_worker_info.frm, slave_worker_info.ibd

    • 功能: 存储复制工作线程的信息。
    • 用途: 记录用于复制的工作线程的信息,主要用于复制过程的管理。
  21. slow_log.CSM, slow_log.CSV, slow_log.frm

    • 功能: 存储慢查询日志的配置和数据。
    • 用途: 记录执行时间较长的 SQL 查询,用于分析和优化性能。
  22. tables_priv.frm, tables_priv.MYD, tables_priv.MYI

    • 功能: 存储表级权限信息。
    • 用途: 记录用户对表的访问权限设置,如哪个用户可以访问或操作哪些表。
  23. time_zone.frm, time_zone_leap_second.frm, time_zone_name.frm, time_zone_transition.frm, time_zone_transition_type.frm

    • 功能: 存储与时区相关的信息。
    • 用途: 记录时区、闰秒、时区名称、时区过渡和时区过渡类型的详细信息,用于支持和管理不同的时间设置。
  24. user.frm, user.MYD, user.MYI

    • 功能: 存储用户账户的信息。
    • 用途: 记录 MySQL 用户的详细信息,包括用户名、密码和账户权限等。

总结

这些表主要用于存储与 MySQL 服务器本身及其管理相关的各种配置信息和权限设置。
它们提供了管理用户、权限、日志、插件、存储过程、复制等功能所需的数据。

简要解读MySQL performance_schema 库下各个表的作用和用途

简要解读 performance_schema 库下各个表的作用和用途。

这些表是用于存储和分析 MySQL 服务器的性能数据的,具体包括:

表解读

  1. accounts.frm
    存储与用户账户相关的信息,用于性能分析。

  2. cond_instances.frm
    记录条件变量的实例信息。这是用于监控等待和锁相关的条件。

  3. db.opt
    存储与数据库的性能模式配置相关的信息。

  4. events_stages_current.frm
    当前活动的阶段事件信息。用于跟踪和分析当前查询执行的阶段。

  5. events_stages_history.frm
    记录历史阶段事件信息,用于分析过去的查询阶段。

  6. events_stages_history_long.frm
    存储长期历史阶段事件信息,适用于长期分析。

  7. events_stages_summary_by_account_by_event_name.frm
    按账户和事件名称汇总阶段事件的统计信息。

  8. events_stages_summary_by_host_by_event_name.frm
    按主机和事件名称汇总阶段事件的统计信息。

  9. events_stages_summary_by_thread_by_event_name.frm
    按线程和事件名称汇总阶段事件的统计信息。

  10. events_stages_summary_by_user_by_event_name.frm
    按用户和事件名称汇总阶段事件的统计信息。

  11. events_stages_summary_global_by_event_name.frm
    全局汇总阶段事件的统计信息。

  12. events_statements_current.frm
    当前活动的 SQL 语句信息,用于实时监控。

  13. events_statements_history.frm
    记录历史 SQL 语句信息,供分析历史查询性能使用。

  14. events_statements_history_long.frm
    存储长期历史 SQL 语句信息,适用于长期查询分析。

  15. events_statements_summary_by_account_by_event_name.frm
    按账户和事件名称汇总 SQL 语句的统计信息。

  16. events_statements_summary_by_digest.frm
    按 SQL 语句摘要汇总的统计信息。

  17. events_statements_summary_by_host_by_event_name.frm
    按主机和事件名称汇总 SQL 语句的统计信息。

  18. events_statements_summary_by_thread_by_event_name.frm
    按线程和事件名称汇总 SQL 语句的统计信息。

  19. events_statements_summary_by_user_by_event_name.frm
    按用户和事件名称汇总 SQL 语句的统计信息。

  20. events_statements_summary_global_by_event_name.frm
    全局汇总 SQL 语句的统计信息。

  21. events_waits_current.frm
    当前活动的等待事件信息,用于实时监控。

  22. events_waits_history.frm
    记录历史等待事件信息,供历史分析使用。

  23. events_waits_history_long.frm
    存储长期历史等待事件信息,用于长期分析。

  24. events_waits_summary_by_account_by_event_name.frm
    按账户和事件名称汇总等待事件的统计信息。

  25. events_waits_summary_by_host_by_event_name.frm
    按主机和事件名称汇总等待事件的统计信息。

  26. events_waits_summary_by_instance.frm
    按实例汇总等待事件的统计信息。

  27. events_waits_summary_by_thread_by_event_name.frm
    按线程和事件名称汇总等待事件的统计信息。

  28. events_waits_summary_by_user_by_event_name.frm
    按用户和事件名称汇总等待事件的统计信息。

  29. events_waits_summary_global_by_event_name.frm
    全局汇总等待事件的统计信息。

  30. file_instances.frm
    记录文件实例的信息,用于分析文件相关的性能数据。

  31. file_summary_by_event_name.frm
    按事件名称汇总文件相关的性能信息。

  32. file_summary_by_instance.frm
    按文件实例汇总性能信息。

  33. host_cache.frm
    存储主机缓存的信息,用于优化主机相关的性能分析。

  34. hosts.frm
    存储与主机相关的性能信息。

  35. mutex_instances.frm
    记录互斥量的实例信息,涉及线程同步和锁。

  36. objects_summary_global_by_type.frm
    全局汇总对象的统计信息,按类型分类。

  37. performance_timers.frm
    记录性能计时器的信息,用于精确测量性能。

  38. rwlock_instances.frm
    记录读写锁的实例信息,用于监控锁竞争。

  39. session_account_connect_attrs.frm
    存储与会话账户连接相关的属性信息。

  40. session_connect_attrs.frm
    存储会话连接的属性信息。

  41. setup_actors.frm
    记录性能模式的执行者(如线程)的配置信息。

  42. setup_consumers.frm
    存储性能模式的消费者(如监控工具)的配置信息。

  43. setup_instruments.frm
    配置性能模式中使用的各种工具和仪器的信息。

  44. setup_objects.frm
    配置性能模式中使用的各种对象的信息。

  45. setup_timers.frm
    配置性能模式中使用的计时器的信息。

  46. socket_instances.frm
    记录套接字实例的信息,用于网络性能监控。

  47. socket_summary_by_event_name.frm
    按事件名称汇总套接字相关的性能信息。

  48. socket_summary_by_instance.frm
    按套接字实例汇总性能信息。

  49. table_io_waits_summary_by_index_usage.frm
    按索引使用情况汇总表的 I/O 等待信息。

  50. table_io_waits_summary_by_table.frm
    按表汇总的 I/O 等待信息。

  51. table_lock_waits_summary_by_table.frm
    按表汇总的锁等待信息。

  52. threads.frm
    记录线程的性能信息,用于分析线程相关的活动。

  53. users.frm
    存储与用户相关的性能信息。

总结

这些表主要用于监控和分析 MySQL 服务器的性能。
它们提供了有关当前和历史查询、等待事件、锁、文件 I/O、网络连接等的详细信息。通过这些表,你可以深入了解 MySQL 的内部运行状态,识别性能瓶颈,并优化数据库系统的性能。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,270评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,489评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,630评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,906评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,928评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,718评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,442评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,345评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,802评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,984评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,117评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,810评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,462评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,011评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,139评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,377评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,060评论 2 355

推荐阅读更多精彩内容