MySQL 系统数据库
MySQL 安装完成后自带四个系统数据库:
mysql、information_schema、performance_schema、sys,分别负责权限元数据、元数据查询、性能监控和诊断视图。
一、四个系统库
| 数据库 | 含义 |
|---|---|
| mysql | 存储 MySQL 服务器正常运行所需要的各种信息(时区、主从、用户、权限等) |
| information_schema | 提供了访问数据库元数据的各种表和视图,包含数据库、表、字段类型及访问权限等 |
| performance_schema | 为 MySQL 服务器运行时状态提供了一个底层监控功能,主要用于收集数据库服务器性能参数 |
| sys | 包含一系列方便 DBA 和开发人员利用 performance_schema 进行性能调优和诊断的视图 |
前三个是基础数据来源,
sys是在performance_schema之上封装好的视图,查起来更直观。
二、常用查询
-- 查看所有数据库(含系统库)
SHOW DATABASES;
-- 查看某个库中的所有表
SHOW TABLES FROM mysql;
-- 查看当前实例的字符集、排序规则等元数据
SELECT * FROM information_schema.SCHEMATA;
-- 查看各表的存储引擎、行数等
SELECT table_schema, table_name, engine, table_rows
FROM information_schema.TABLES
WHERE table_schema = 'itcast';
-- 查看 InnoDB 运行状态(缓冲池、锁等待等)
SHOW ENGINE INNODB STATUS;
三、注意事项
- 系统库不要随意修改,尤其是
mysql库中的用户、权限表,误改可能导致无法登录。 information_schema中的表多为视图 / 虚拟表,数据随实例状态实时变化,不占实际存储空间。performance_schema默认开启,采集本身有少量开销;排查性能问题时可临时调整相关采集项。
速查
-- 查看所有库
SHOW DATABASES;
-- 查看指定库的表
SHOW TABLES FROM mysql;
-- 查看库的元数据(字符集、排序规则)
SELECT schema_name, default_character_set_name, default_collation_name
FROM information_schema.SCHEMATA;
-- 查看表的引擎与行数
SELECT table_schema, table_name, engine, table_rows
FROM information_schema.TABLES
WHERE table_schema = 'itcast';
| 库 | 用途 |
|---|---|
mysql | 用户、权限、时区、主从等核心信息 |
information_schema | 元数据:库、表、字段、权限 |
performance_schema | 运行时性能参数采集 |
sys | 性能诊断视图,查起来更方便 |
相关
- MySQL 常用工具:
mysql、mysqladmin、mysqlbinlog、mysqlshow - 数据备份与导入导出:
mysqldump、mysqlimport、source - SQL DCL 数据控制语言:用户与权限管理