首页 > 数据库 >【MySQL数据库管理问答题】第3章 理解MySQL体系

【MySQL数据库管理问答题】第3章 理解MySQL体系

时间:2024-08-25 22:54:21浏览次数:18  
标签:问答题 存储 8.0 数据库 支持 InnoDB MySQL 空间

目录

1. MySQL 服务器进程 mysqld 由哪三层组成,从各自所实现的功能角度分别加以说明。

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

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

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

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

6. InnoDB 存储引擎主要有哪些功能特点?

7. MyISAM 存储引擎主要有哪些功能特点?

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

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

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

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

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

13. 对于系统表空间,它保存有哪些数据,默认的存放位置和文件名称是什么?

14. 请给出单表文件表空间和通用表空间的区别以及各自的适用场合。

15. 对于通用表空间类型,每个表空间有且仅有一个数据文件,这个表述对不对?

16. innodb_data_file_path 和 innodb_file_per_table 这两个参数各自的作用是什么?

17. 请说明重做(redo)和还原(undo)各自在 MySQL 数据库中的作用。

18. 请比较 MySQL 全局和会话内存的不同点。


1. MySQL 服务器进程 mysqld 由哪三层组成,从各自所实现的功能角度分别加以说明。

MySQL 服务器进程 mysqld 通常可以分为三层: ① 连接层:负责管理客户端连接,处理连接和授权认证。主要包含连接池、线程管理、身份验证等。 ② 服务层:实现 SQL 解析、优化、执行计划生成、存储过程等功能。服务层主要负责查询解析、优化和缓存。 ③ 存储引擎层:负责与存储引擎进行交互,通过抽象接口操作数据文件,处理具体的数据存取 和管理。这一层提供了数据的存储和索引功能。

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

(1)MySQL 支持的通讯协议TCP/IP :用于远程连接,支持跨平台。 UNIX socket :仅用于本地连接,支持类 UNIX 操作系统。 Named Pipe (命名管道):仅在 Windows 系统下支持,用于本地连接。 Shared Memory(共享内存):仅在 Windows 系统下支持,用于本地连接。 (2)不同操作系统支持的连接方式有所不同: UNIX Socket 只在类 UNIX 系统中使用; 而 Named Pipe 和 Shared Memory 只在 Windows 中使用。

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

SQL 层主要组件: ① 解析器:将 SQL 语句解析成内部数据结构,并进行语法和语义检查。 ② 查询优化器:对 SQL 语句进行优化,生成执行计划。 ③ 执行器:负责执行 SQL 语句,根据执行计划调用存储引擎获取数据。 ④ 缓存模块:缓存查询结果,提高查询性能。 ⑤ 存储过程和触发器管理器:管理存储过程和触发器的执行。

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

除了默认的 InnoDB 存储引擎外, MySQL 8.0 还常用的存储引擎包括: ① MyISAM :不支持事务,适用于读密集型操作。 ② Memory :将数据存储在内存中,适用于需要高速读写的临时表。 ③ CSV :以 CSV 格式存储数据,适用于数据导出和导入。 ④ Archive :适用于归档操作,支持高压缩率。 ⑤ NDB :用于 MySQL Cluster ,支持高可用性和分布式存储。

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

MySQL 的以下功能依赖于存储引擎: ① 事务支持:如 InnoDB 支持 ACID 特性的事务, MyISAM 不支持事务。 ② 外键约束: InnoDB 支持外键, MyISAM 不支持外键。 ③ 表锁与行锁: InnoDB 支持行级锁, MyISAM 只支持表级锁。 ④ 全文索引: MyISAM 原生支持全文索引, InnoDB 直到 MySQL 5.6 之后才支持全文索引

6. InnoDB 存储引擎主要有哪些功能特点?

InnoDB 存储引擎的功能特点: 支持事务( ACID ); 支持外键约束; 支持行级锁; 使用 MVCC 机制提高并发性; 支持崩溃恢复和自动修复。

7. MyISAM 存储引擎主要有哪些功能特点?

MyISAM 存储引擎的功能特点: 不支持事务; 只支持表级锁; 查询性能较好,适用于读操作多的场景; 支持全文索引。 不支持外键。

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

MySQL 数据目录下存放的数据库组件: 数据文件( .ibd 、 .myd 、 .myi 等); 表定义文件( .frm ); 日志文件(如 redo 日志、 undo 日志); 系统表空间文件(如 ibdata1 ); 配置文件( my.cnf 或 my.ini )。

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

MySQL 数据字典记录的元数据类型: 表、视图、触发器、存储过程和函数的定义; 用户及权限信息; 表空间和文件相关的元数据; 索引和分区信息。

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

MySQL 8.0 和之前版本在管理元数据上的区别: MySQL 8.0 版本将元数据存储在 InnoDB 的数据字典中,而不再依赖文件系统中的 .frm 、 .trg 、 .par 文件等,大大简化了管理和备份。

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

MySQL 8.0 使用 JSON 序列化元数据存储的好处: JSON 结构化存储提高了元数据的可读性和可扩展性,支持灵活查询,并简化了元数据的导入和导出。

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

MySQL 8.0 的表空间类型: ① 系统表空间:存储 InnoDB 的数据字典和 Undo 日志。 ② 文件表空间:用于单个表的存储。 ③ 通用表空间:支持多个表共享存储空间。

13. 对于系统表空间,它保存有哪些数据,默认的存放位置和文件名称是什么?

系统表空间保存的数据及默认存放位置和文件名称: ① 数据: InnoDB 的数据字典、 Undo 日志。 ② 默认存放位置和文件名称:数据目录下,文件名为 ibdata1 。

14. 请给出单表文件表空间和通用表空间的区别以及各自的适用场合。

单表文件表空间和通用表空间的区别及适用场合: ① 单表文件表空间:每个表独占一个文件,适用于单个表数据量较大的情况。 ② 通用表空间:多个表共享一个表空间,适用于表结构相似且数据量相对较小的情况。

15. 对于通用表空间类型,每个表空间有且仅有一个数据文件,这个表述对不对?

“ 通用表空间类型,每个表空间有且仅有一个数据文件 ” 这个表述错误; 通用表空间可以包含多个数据文件,以支持更大的存储需求。

16. innodb_data_file_path 和 innodb_file_per_table 这两个参数各自的作用是什么?

innodb_data_file_path 和 innodb_file_per_table 参数作用: ① innodb_data_file_path :定义系统表空间的数据文件路径和大小。 ② innodb_file_per_table :启用后,每个表使用独立的表空间文件( .ibd )。

17. 请说明重做(redo)和还原(undo)各自在 MySQL 数据库中的作用。

Redo 和 Undo 在 MySQL 数据库中的作用: ① Redo :用于崩溃恢复,保证事务的持久性。 ② Undo :用于回滚未提交的事务,支持 MVCC 提供一致性读。

18. 请比较 MySQL 全局和会话内存的不同点。

MySQL 全局内存和会话内存的不同点: ① 全局内存:如 InnoDB 缓存池,影响整个服务器的性能。 ② 会话内存:如排序缓冲区,只影响当前会话的操作。

标签:问答题,存储,8.0,数据库,支持,InnoDB,MySQL,空间
From: https://blog.csdn.net/Songyaxuan075118/article/details/141535456

相关文章

  • 数据库优化
    1.读写分离1.1概念    读写分离主要是为了将数据库的读写操作分散到不同的数据库节点上。这样的化能够小幅度提升写性能,大幅度提升读性能。    一般情况是一主多从,主数据库用于写,从数据库用于读。1.2实现方式1.2.1实现步骤    1.部署多台数据......
  • 【RH134知识点问答题】第13章 运行容器
    目录1.相比较虚拟机,容器有哪些技术优势?2.容器镜像是什么?3.RHEL提供了哪些容器工具?4.根容器和无根容器有什么区别?5.请谈一下容器镜像(image)和仓库/注册表(registry)的关系。6.请写出以shell交互方式运行容器的命令。7.请说明如何配置容器仓库。8.如何检查......
  • 【MySQL数据库管理问答题】第2章 安装和升级MySQL
    目录1.MySQL的RPM安装通常分为不同的包,包括Server、Common、Client、Devel、Libs、Libs-compat、Test、Source,请写出上述每个包的功能。2.MySQL除了RPM安装之外,在Linux平台上还有那种形式的安装,请给出简单的说明。3.在Linux上安装好MySQL8.0之后,默认数据......
  • [Mysql]索引选型
    索引底层数据结构选型Hash表哈希表是键值对的集合,通过键(key)即可快速取出对应的值(value),因此哈希表可以快速检索数据(接近O(1))。为何能够通过key快速取出value呢?原因在于哈希算法(也叫散列算法)。通过哈希算法,我们可以快速找到key对应的index,找到了index也就找到了对......
  • 【MySQL-23】万字总结<InnoDB引擎>——【逻辑存储结果&架构(内存结构,磁盘结构,后台线程)&事
    前言大家好吖,欢迎来到YY滴MySQL系列,热烈欢迎!本章主要内容面向接触过C++的老铁主要内容含:欢迎订阅YY滴C++专栏!更多干货持续更新!以下是传送门!YY的《C++》专栏YY的《C++11》专栏YY的《Linux》专栏YY的《数据结构》专栏YY的《C语言基础》专栏YY的《单片机》专栏YY......
  • Docker安装MySQL详解(mysql5.7)
    一、准备工作1.打开目录cd/usr/local/docker/2.创建文件夹mkdirmysql3.打开文件夹cdmysql/二、创建挂载目录1.创建数据挂载目录mkdirdata2.创建配置文件目录mkdirconfig3.打开configcdconfig/4.编写配置文件vimmy.cnf粘贴配置[client]#端口号po......
  • 软件设计之MySQL(7)
    软件设计之MySQL(7)此篇应在JavaSE之后进行学习:路线图推荐:【Java学习路线-极速版】【Java架构师技术图谱】Navicat可以在软件管家下载``使用navicat连接mysql数据库创建数据库、表、转储sql文件,导入sql数据MySQL数据库入门到大牛,mysql安装到优化,百科全书级,全网天花......
  • 【含文档】基于Springboot+微信小程序的图书借还管理系统(含源码数据库)
    1.开发环境开发系统:Windows10/11架构模式:MVC/前后端分离JDK版本:JavaJDK1.8开发工具:IDEA数据库版本:mysql5.7或8.0数据库可视化工具:navicat服务器:SpringBoot自带apachetomcat主要技术:Java,Springboot,mybatis,mysql,vue2.视频演示地址3.功能这个系......
  • 基于Springboot+Vue的铁路订票管理系统(含源码数据库)
    1.开发环境开发系统:Windows10/11架构模式:MVC/前后端分离JDK版本:JavaJDK1.8开发工具:IDEA数据库版本:mysql5.7或8.0数据库可视化工具:navicat服务器:SpringBoot自带apachetomcat主要技术:Java,Springboot,mybatis,mysql,vue2.视频演示地址3.功能这个系......
  • zblog网站提示MySQL数据库无法连接
    前天搭建好的博客网站,在睡了一觉之后,网站竟然出现故障无法正常运行了,在此期间,没有进行任何的操作。就连主页都无法进入,页面一直提示“MySQL数据库无法连接”。不管怎样刷新页面,还是重启服务器,都毫无作用。最终,从中午1点一直忙活到凌晨2点,还好皇天不负有心人,总算把问题解决了......