美文网首页mysql
【MySQL】对 MySQL 数据目录下的文件、文件夹的解读

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

作者: 放纵不基 | 来源:发表于2024-09-05 15:32 被阅读0次

对 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 的内部运行状态,识别性能瓶颈,并优化数据库系统的性能。

相关文章

  • MySQL命令行导入导出数据库

    MySQL命令行导出数据库: 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录,如我...

  • MySQL 导入导出

    一、命令行导出数据库 1.进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录如:cd C:...

  • 2022-10-20 mysql数据库的恢复还原方法

    对于mysql数据库的恢复还原:将原来网站的MYSQL目录下的data文件夹全部复制走(这里都是数据后面要用)。 ...

  • 安装mysql(亲测有效)

    1.下载mysql 2.解压并更改移动 移动mysql文件夹 4.创建mysql数据文件夹 5.创建mysql用户...

  • 00安装mysql

    1、在mysql文件夹下建立data目录路径为 2、添加mysql用户组 3、更改mysql目录下所有的目录及文件...

  • MYSQL的一些问题

    数据存储Innodb 创建数据库后会在data目录下创建文件夹C:\Program Files\mysql-8.0...

  • 2019-07-08MySQL仅从.frm和.ibd文件恢复数据

    前言 MySQL的数据库其相关文件都会存放在安装目录下data文件夹下的同命文件夹中,不同的存储引擎创建的表其文件...

  • Mysql初始化--无需安装包

    初始化安装mysql 1.初始化mysql --- 删除mysql文件夹下的data文件夹 2.添加mysql的环...

  • 深度解析:MySQL数据库文件

    MySQL 的每个数据库都对应存放在一个与数据库同名的文件夹中,该文件夹由 MySQL 配置文件 /etc/my....

  • 2018-08-07(17)Mysql基础

    Mysql数据库 如何找到my.ini(mysql 的配置文件)? 显示隐藏文件夹,在programeData中。...

网友评论

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

    本文链接:https://www.haomeiwen.com/subject/kwtdljtx.html