当前位置: 首页 > news >正文

进阶-系统数据库

一、MySQL进阶

“数据库不是黑盒子,而是由四座精密的‘城市’组成:
一座管理权限,一座存储结构,一座监控性能,一座优化体验。”
—— 理解这四个系统数据库,是成为MySQL专家的必经之路

🌐 一、为什么需要系统数据库?—— 一场“数据自治”的革命

在早期数据库中,元数据(Metadata)和系统信息往往散落在各个文件中,查询困难、维护复杂。例如:

  • 要查一张表的结构?需要解析.frm文件
  • 要查用户权限?需要手动检查user
  • 要分析性能瓶颈?需要写复杂脚本

💡 2005年,MySQL 5.0 引入system databases,将元数据、权限、性能监控统一管理,彻底改变了数据库运维方式。

我们聚焦MySQL的四大核心系统数据库,它们共同构成了数据库的“操作系统”:

mysql ← 权限与安全中枢 information_schema ← 元数据仓库 performance_schema ← 性能监控仪表盘 sys ← 性能分析优化器

二、第一座城市:mysql 数据库——权限与安全的“首都”

mysql 数据库是MySQL的“权力中心”,存储了所有用户账户、权限、服务器配置等核心安全信息。

📌 核心表与作用

表名作用关键字段
user用户账户与全局权限User,Host,Password,Super_priv
db数据库级权限User,Host,Db,Select_priv
tables_priv表级权限User,Host,Db,Table_name,Grant_priv
columns_priv列级权限User,Host,Db,Table_name,Column_name
proxies_priv代理权限User,Host,Proxied_user,Proxied_host

为什么它如此重要?

  • 权限管理GRANT/REVOKE语句最终都写入这些表
  • 安全审计:所有登录、操作都记录在mysql.general_log
  • 服务器配置my.cnf中的配置会同步到mysql表(如max_connections

三、第二座城市:information_schema 数据库——元数据的“中央档案馆”

information_schema 是MySQL的“元数据仓库”,提供只读视图访问数据库结构信息。

📌 核心表与作用

表名作用典型查询示例
tables所有表的结构SELECT * FROM information_schema.tables WHERE table_schema='test';
columns所有列的定义SELECT column_name, data_type FROM information_schema.columns WHERE table_name='users';
indexes所有索引SELECT index_name, column_name FROM information_schema.statistics WHERE table_name='orders';
key_column_usage外键关系SELECT referenced_table_name, referenced_column_name FROM information_schema.key_column_usage WHERE table_name='orders';

🔥 为什么它如此重要?

  • 动态查询结构:应用程序可动态获取表结构(如ORM框架)
  • 数据库自省:无需额外工具,直接SQL查询元数据
  • 数据字典SHOW CREATE TABLE的底层实现

四、第三座城市:performance_schema 数据库——性能的“实时仪表盘”

performance_schema 是MySQL的“性能监控引擎”,实时收集服务器运行时指标。

📌 核心表与作用

表格

表名作用关键指标
events_statements_current当前正在执行的SQLDIGEST_TEXT,TIMER_WAIT,ROWS_AFFECTED
events_waits_current当前等待事件EVENT_NAME,TIMER_WAIT,SOURCE
threads线程状态THREAD_ID,PROCESSLIST_ID,STATE
memory_summary_global_by_event_name内存使用EVENT_NAME,SUM_NUMBER_OF_BYTES_ALLOC
file_summary_by_instance文件I/OFILE_NAME,COUNT_READ,SUM_NUMBER_OF_BYTES_READ

🔥 为什么它如此重要?

  • 性能诊断:精准定位慢查询、锁等待、I/O瓶颈
  • 实时监控:比SHOW PROCESSLIST更细粒度
  • 历史分析:通过performance_schema.setup_instruments启用/禁用监控

五、第四座城市:sys 数据库——性能分析的“智能助手”

sys 数据库是performance_schema的“高级视图层”,提供更易读、更聚焦的性能分析工具

📌 核心视图与作用

视图名作用优势
sys.schema_redefine_table重定义表的优化建议识别大表、冗余索引
sys.statement_analysis慢查询分析按执行频率、时间排序
sys.statement_with_runtimes_in_95th_percentile95%分位数慢查询识别真正影响用户体验的查询
sys.x$ps_digest_95th_percentile_by_avg_latency95%分位数平均延迟statement_analysis更精确
sys.host_summary主机级性能汇总CPU、内存、I/O 综合分析

🔥 为什么它如此重要?

  • 简化分析:无需记忆复杂表结构,直接使用视图
  • 聚焦问题:自动过滤掉无关数据,直指核心瓶颈
  • 自动化sys.ps_check视图可自动生成优化建议

四大数据库协同工作:一次完整查询的旅程

假设执行:

SELECT * FROM orders WHERE user_id = 100;
  1. mysql:检查user_id=100的用户权限(mysql.user表)
  2. information_schema:获取orders表的结构(information_schema.columns
  3. performance_schema:记录查询执行时间、等待事件
  4. sys:在sys.statement_analysis中汇总该查询的性能数据

🌟效果:从权限验证到性能分析,全程自动化,无需人工干预。

http://www.cnnetsun.cn/news/636611.html

相关文章:

  • 支持GPU加速的FunASR语音识别|科哥定制镜像开箱即用
  • 告别“玩具”级开发:如何用向量引擎构建企业级 AI Agent 集群?(含 Python 异步并发实战)
  • 我就纳闷了,岁数大了就这么不受人待见啦?然后有人说了,你就写写需求,用用框架,画画UI,复制粘贴,你只是用一年的经验工作了十年而已,一点价值都没有! 你这么大岁数,应该与时俱进,不断学习新技术,1或
  • ‌国家实验室泄密文件‌:AI军事系统的测试红蓝对抗
  • ‌生物神经网络VS人工神经网络:测试方法论跨界启示录
  • Web3.0革命:智能合约的混沌测试生存指南
  • 比如我现在左转没看到门左走,然后右转也没看到门后退,结果过了门了,最后一步奖励100,训练的时候会怎么修改神经网络 gru+ppo,还有离门就差一步结果跑出去绕了5步最后奖励20
  • 11. 命令缓冲区和DMA
  • django基于python的美食探店分享网站设计与实现
  • [原创]基于CCO-ELM多输出回归+SHAP可解释性分析 Matlab代码(多输入多输出)
  • 线程池简单源码思路手撕实现和关于参数设置
  • GEE初学:谷歌地球引擎GEE入门指南(最新注册全流程)
  • .Net 中的 ActivatorUtilitiesConstructor 特性
  • 什么是SR-MPLS
  • 救命神器10个一键生成论文工具,专科生毕业论文轻松搞定!
  • gru 记忆是记当前episode的内容吗
  • 全网最全本科生必用TOP10 AI论文网站测评
  • django基于python的旅游服务管理系统
  • 653653
  • 人行道检测数据集介绍-3819张图片 智慧城市管理 自动驾驶辅助系统 无障碍导航应用 城市规划与设计 智能监控系统 移动机器人导航
  • 还在为高AI率烦恼?6款亲测有效的降AI工具推荐,手把手教你ai率轻松降到10%以下
  • 大数据脱敏与数据匿名化的区别与联系
  • 【毕业设计】基于python-CNN深度学习卷神经网络的常见中草药识别
  • 【毕业设计】基于python-CNN深度学习的水稻是否伏倒识别
  • Java毕设项目推荐-基于java的车辆违章信息管理系统的设计与实现基于JavaEE的车辆违章信息管理系统的设计与实现【附源码+文档,调试定制服务】
  • 深度学习毕设项目推荐-基于python-pytorch训练识别舌头是否健康
  • 亲测好用9个AI论文工具,继续教育学生轻松写论文!
  • 深度学习计算机毕设之基于python深度学习人工智能的道路车辆内有无佩戴安全带识别
  • 【C++入门】编译期的代码义体植入——【inline内联函数】(宏定义的面试考点)(C++分文件编写的知识点)
  • Java毕设项目推荐-基于SpringBoot+Vue的旅游管理系统涵盖旅游攻略、酒店、美食、景点等管理功能【附源码+文档,调试定制服务】