【MySQL】 数据目录

Metadata

title: 【MySQL】 数据目录
date: 2022-12-20 16:12
tags:
  - 行动阶段/完成
  - 主题场景/数据存储
  - 笔记空间/KnowladgeSpace/ProgramSpace/BasicsSpace
  - 细化主题/数据存储/MySQL
categories:
  - 数据存储
keywords:
  - 数据存储
description: 【MySQL】 数据目录

概述

  • 表空间类型:
    • 系统表空间(system tablespace):对应文件系统上的一个或多个实际文件,InnoDB使用名为ibdata1的文件来存储数据。
    • 独立表空间(file-per-table tablespace):为每个表创建一个独立的表空间,表空间文件与表名相同,使用.ibd扩展名。
    • 其他类型的表空间:通用表空间、undo表空间、临时表空间。
  • 其他文件:
    • 服务器进程文件
    • 服务器日志文件
    • 默认/自动生成的SSL和RSA证书和密钥文件
  • 文件系统对数据库的影响:
    • 数据库和表名称长度限制
    • 特殊字符的问题
    • 文件长度受文件系统最大长度限制
  • MySQL系统数据库简介:
    • mysql数据库:存储用户账户和权限信息存储过程事件的定义信息日志信息帮助信息时区信息等。
    • information_schema数据库:保存其他数据库的信息和元数据。
    • performance_schema数据库:保存MySQL服务器运行过程中的状态信息。
    • sys数据库:通过视图将information_schema和performance_schema结合起来,提供更方便的性能信息

表空间类型

系统表空间(system tablespace)

对应文件系统上一个或多个实际的文件

InnoDB 会在数据目录下创建一个名为ibdata1, 大小为12M 的文件

从MySQL5.5.7到MySQL5.6.6之间的各个版本中,表中的数据都会被默认存储到这个 系统表空间。

独立表空间(file-per-table tablespace)

为每一个表建立一个独立表空间,也就是说我们创建了多少个表,就有多少个独立表空间。

使用独立表空间来存储表数据的话,会在该表所属数据库对应的子目录下创建一个表示该独立表空间的文件,文件名和表名相同,只不过添加了一个.ibd 的扩展名而已

其他类型的表空间

通用表空间(general tablespace)、undo表空间(undo tablespace)、临时表空间(temporary tablespace)

其他的文件

  • 服务器进程文件
  • 服务器日志文件
  • 默认/自动生成的SSL和RSA证书和密钥文件

文件系统对数据库的影响

文件系统的一些制约

  • 数据库名称和表名称不得超过文件系统所允许的最大长度。
  • 特殊字符的问题
  • 文件长度受文件系统最大长度限制

MySQL系统数据库简介

mysql

  • 核心
  • 存储了MySQL的
    • 用户账户和权限信息,
    • 一些存储过程、
    • 事件的定义信息,
    • 一些运行过程中产生的日志信息,
    • 一些帮助信息
    • 以及时区信息等。

information_schema

保存着MySQL服务器维护的所有其他数据库的信息
一些描述性信息,有时候也称之为元数据

performance_schema

主要保存MySQL服务器运行过程中的一些状态信息

sys

通过视图的形式把information_schema 和performance_schema 结合起来
更方便的了解MySQL服务器的一些性能信息