mysql 库:权限与系统配置的中枢
这是 MySQL 的“管理员数据库”,存储用户账号、权限规则、时区、日志开关、存储过程定义等运行时必需的配置信息。
权限表是重点:user(全局权限)、db(库级)、tables_priv(表级)、columns_priv(列级)、procs_priv(存储过程/函数)等,共同构成访问控制体系; 不建议直接 DML 修改:应使用CREATE USER、
GRANT、
REVOKE等语句操作权限,避免破坏内部一致性; 还包含日志表:如
general_log和
slow_log(需开启对应日志功能才会写入); 复制与优化器相关表也在此:例如
slave_master_info、
innodb_table_stats等。
information_schema 库:数据库的“活字典”
它提供只读的元数据视图,是查询数据库结构最标准的 SQL 接口,替代了大量
SHOW命令。 所有表本质是视图,数据来自内存结构,无物理文件,重启后内容自动刷新; 常用表举例:
TABLES(查库表数量/大小)、
COLUMNS(字段类型与约束)、
PROCESSLIST(等效
SHOW PROCESSLIST)、
INNODB_TRX(当前事务)、
STATISTICS(索引详情); 支持跨库统计:比如用
SELECT table_schema, COUNT(*) FROM information_schema.TABLES GROUP BY table_schema快速盘点各库表数。
performance_schema 库:性能数据的“实时探针”
专注采集服务器内部事件,为性能诊断提供底层依据,所有数据驻留在内存中,重启即清空。
默认在 MySQL 5.7+ 开启,5.5 版本起引入但需手动启用(配置performance_schema=ON); 覆盖维度广:SQL 执行阶段耗时(parse、execute、sort)、线程等待、锁争用、I/O 次数与延迟、内存分配等; 可动态开关采集项:通过修改
setup_instruments和
setup_consumers表实时调整监控粒度,减少开销; 不用于长期归档,适合定位瞬时瓶颈,比如某条慢查询卡在哪一环节。
sys 库:性能分析的“快捷入口”
基于
performance_schema和
information_schema构建的一组预定义视图与函数,把原始监控数据转化为可读性强、目标明确的汇总结果。 MySQL 5.7.6 起内置,非强制组件,某些精简部署可能未安装; 典型视图示例:
sys.session(活跃会话快照)、
sys.statement_analysis(SQL 执行统计排行)、
sys.io_by_thread_by_latency(线程 I/O 延迟分布); 降低使用门槛:无需拼接多层 JOIN 或理解复杂的 instruments 表结构,一条
SELECT就能获取关键指标。
