Mysql数据库2

11. MySQL 支持的通讯协议都有哪些?其连接方式和所支持的操作系统有何不同

  1. TCP/IP 协议 :最常用,基于网络套接字,客户端和服务端可跨机器通信,Windows、Linux 都支持
  2. Unix Socket 套接字 :本地文件套接字,只能本机访问,速度比 TCP 快,仅 Linux/Unix 支持,Windows 不支持
  3. 命名管道(Named Pipe) :Windows 本地进程间通信,只能本机连接,仅 Windows 系统支持
  4. 共享内存(Shared Memory) :Windows 本机通信方式,性能高,仅限本地,仅 Windows 支持

12. 请说明 SQL 层的组件名称和各自的作用

  1. 连接器:负责客户端连接、身份认证、权限校验。
  2. 查询缓存 (MySQL8.0 已移除):缓存 SQL 查询结果。
  3. 分析器:词法、语法解析,检查 SQL 语法是否合法,生成语法树。
  4. 优化器:执行计划优化,选择索引、确定表连接顺序,生成最优执行计划。
  5. 执行器:调用存储引擎接口,按照执行计划完成 SQL 执行,返回结果。

13. MySQL 8.0 除了默认的存储引擎 InnoDB 之外,还有哪些常用的存储引擎

  • MyISAM:非事务引擎,表级锁,查询速度快
  • Memory:内存存储,数据重启丢失,表级锁
  • CSV:csv 文本格式存储,不支持索引
  • Archive:归档引擎,高压缩,只支持插入、查询
  • Blackhole:黑洞引擎,接收 SQL 但不存数据,用于复制测试

14. MySQL 数据库的哪些功能依赖于存储引擎的实现

事务、行锁 / 表锁、MVCC、索引实现、数据读写、崩溃恢复、外键约束、缓存、数据存储格式。SQL 解析优化属于上层,由 Server 层实现。

15. InnoDB 存储引擎和 MyISAM 存储引擎主要有哪些功能特点

InnoDB

  • 支持事务 ACID,支持回滚、崩溃恢复
  • 支持行级锁、MVCC、外键
  • 聚簇索引,支持热备份
  • 读写均衡,适合业务生产环境

MyISAM

  • 不支持事务,不支持回滚
  • 使用表级锁,并发写入性能差
  • 非聚簇索引,查询速度快
  • 崩溃容易损坏数据,适合只读场景

16. 在 MySQL 数据目录下,都存放哪些数据库组件

数据库文件夹、表空间文件、redo log、undo log、binlog 日志、错误日志、pid 文件、数据字典文件、ibdata 系统表空间、ssl 证书文件。

17. MySQL 的数据字典记录的元数据类型有哪些

库信息、表信息、列字段信息、索引、约束、视图、存储过程、函数、触发器、表空间、权限对象等元数据。

18. 请说明 MySQL 8.0 和之前版本在管理元数据上的区别

  1. 5.7 及更早:元数据一部分存.frm磁盘文件,一部分存系统表,文件容易损坏。
  2. MySQL8.0:取消 frm 文件,全部元数据统一存储在 InnoDB 内部数据字典表,元数据放在 ibd 表空间,支持事务,元数据修改可以回滚,崩溃安全性提升。

19. MySQL 8.0 使用 JSON 序列化元数据存储,有什么好处

可以灵活扩展元数据字段,版本升级时修改元数据结构不用修改表结构;元数据信息完整序列化,便于内部解析;兼容未来新增属性,减少 DDL 操作,提升兼容性。

20. MySQL 8.0 的表空间类型有哪几种,各自的用途是什么

  1. 系统表空间 ibdata1:存放数据字典、undo 日志等系统数据。
  2. 独立表空间 (per‑table) :每张 InnoDB 表单独一个.ibd文件,单表可以迁移、删除。
  3. 通用表空间 general:多个表共用同一个表空间文件。
  4. 临时表空间:存放临时表,重启自动清空。
  5. undo 表空间:存放 undo 回滚日志,用于事务回滚、MVCC。
相关推荐
Leon-Ning Liu1 小时前
Oracle 19c ASMB 进程 PGA 内存泄漏排查实战 (Bug 38610635)
数据库·oracle
步行cgn1 小时前
Spring 注入 null 和空字符串详解
数据库·spring·oracle
worilb1 小时前
Win下使用同一套MySQL创建第二个独立实例
mysql
Allen_LVyingbo1 小时前
医疗人工智能项目全生命周期管理系统:监管知识建模、工程实现与实证评估(下)
大数据·数据库·人工智能·python·自然语言处理·自动化
草莓熊Lotso1 小时前
【Redis 进阶】主从复制深度解析:从配置落地到 PSYNC 同步原理
linux·开发语言·网络·数据库·redis·缓存·php
YangYang9YangYan2 小时前
2026 校招市场数据分析 JD 拆解,SQL 要求、工具与面试考点
数据库·人工智能·数据分析
风哥2号2 小时前
数据库教程FGMT40‑MySQL性能优化之性能基准测试
数据库·mysql
苍梧问道2 小时前
SQL Server阻塞与死锁排查实战:从DMV到根因分析
数据库
shirsl2 小时前
数据开发每日面试题 Day 5
大数据·数据库·sql·big data
葡萄成熟时 !3 小时前
MySQL 全套学习笔记(JDBC+连接池)
mysql