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

MYSQL的基础信息如何存放

一、存储位置与版本差异

1、​MySQL 8.0+(事务化存储)​

系统表存储​:所有元数据(表结构、索引、权限等)统一存储在 mysql 系统库的 ​InnoDB事务表中(如 mysql.tablesmysql.columns),物理文件为 mysql.ibd
优势​:​性能优化​:INFORMATION_SCHEMA 改为内存视图,查询效率提升(无需解析文件)。
原子DDL​:DDL操作(如建表、删表)完全事务化,失败自动回滚,避免元数据损坏。
2、​MySQL 5.7及更早(文件分散存储)​表结构​:.frm 文件存储表定义(如 user.frm)。​
权限信息​:mysql.user 等表使用
MyISAM引擎​(非事务性,易损坏)。
其他文件​:opt:数据库字符集配置;TRG:触发器定义。

二、元数据访问方式

INFORMATION_SCHEMA 视图**​(推荐)提供只读元数据视图,兼容所有版本:
SELECT * FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME = 'user';  -- 查询表字段定义
SHOW 命令(快速查看)
SHOW CREATE TABLE user;     -- 建表语句
SHOW GRANTS FOR 'root'@'localhost';  -- 权限详情

    直接查询系统表​(8.0+,需管理员权限)

    SELECT * FROM mysql.tables WHERE name = 'user';  -- 谨慎操作,可能破坏一致性
    三、缓存与事务机制(8.0+)​
    两级缓存​:本地缓存​:线程独享,存储未提交的元数据变更;
    共享缓存​:全局缓存(如 Shared_dictionary_cache),减少磁盘访问。
    事务安全​:元数据操作通过 ​Redo Log​ 和 ​Undo Log​ 保障崩溃恢复与回滚。

    新旧版本对比

    元数据类型MySQL 8.0+​MySQL 5.7及更早
    表结构mysql.ibd(事务性系统表).frm 文件(易损坏)
    用户权限mysql.user(InnoDB表)mysql.user(MyISAM表)
    触发器/存储过程mysql.ibd(系统表).TRG/.TRN 文件
    崩溃恢复✅ 自动修复元数据❌ 需手动修复或文件扫描

    关键改进​:集中化事务存储消除了文件与表混合管理的复杂性。


    总结与建议

    1. 设计演进​:
      • 旧版​:元数据分散存储,管理复杂且易损(如 .frm 文件损坏);
      • 新版​:事务化系统表实现 ​原子性、高性能与统一管理
    2. 实践建议​:
      • 新项目​:优先选 MySQL 8.0+,利用事务化元数据提升稳定性;
      • 旧系统升级​:需迁移 .frm 文件并测试语法兼容性;
      • 日常操作​:使用 INFORMATION_SCHEMASHOW 命令,避免直接修改系统表。
    http://www.lryc.cn/news/576868.html

    相关文章:

  1. PL-SLAM: Real-Time Monocular Visual SLAM with Points and Lines
  2. 实战四:基于PyTorch实现猫狗分类的web应用【2/3】
  3. Rust函数与所有权
  4. Webpack中的Loader详解
  5. SpringBoot医疗用品销售网站源码
  6. 什么是P2P 网络(Peer-to-Peer Network)
  7. (八)聚类
  8. KPL战队近五年热度指数
  9. 如何解决大语言模型微调时的模型遗忘问题?
  10. MYSQL与PostgreSQL的差异
  11. Segment Anything in High Quality之SAM-HQ论文阅读
  12. ​扣子Coze飞书多维表插件-创建数据表
  13. 机器学习9——决策树
  14. MyBatis修改(update)操作
  15. 【PaddleOCR】PaddlePaddle 3.0环境安装,及PaddleOCR3.0 快速入门使用
  16. 企业级路由器技术全解析:从基础原理到实战开发
  17. 学习使用Visual Studio分析.net内存转储文件的基本用法
  18. cJSON 使用方法详解
  19. 华为云 Flexus+DeepSeek 征文|华为云 Flexus 云服务 Dify-LLM 平台深度部署指南:从基础搭建到高可用实践
  20. NLP随机插入
  21. 如果将Word里每页的行数设置成50行
  22. jenkins启动报错,一直无法启动
  23. 高并发电商返利 APP 架构设计:从淘客佣金模型到分布式导购系统的技术落地
  24. [分布式并行] 流水线并行 PP(NaivePP/GPipe/F-then-B/PipeDream/1F1B)
  25. MySQL数据库的增删改查
  26. 茶叶根茎分割数据集介绍与应用
  27. RNN人名分类器案例
  28. Android大图加载优化:BitmapRegionDecoder深度解析与实战
  29. Ubuntu20 编译安装 Redis7.2.4
  30. SAP顾问职位汇总(第26周)