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

MySQL 8.0 OCP 1Z0-908 题目解析(39)

题目156

Choose two.

You have an installation of MySQL 8 on Oracle Linux.
Consider the outputs:

mysql> SHOW GLOBAL VARIABLESWHERE Variable_name = 'tmpdir'OR Variable_name = 'tmp_table_size';
+----------------+----------+
| Variable_name  | Value    |
+----------------+----------+
| tmp_table_size | 16777216 |
| tmpdir         | /tmp     |
+----------------+----------+
2 rows in set (0.01 sec)shell> cd /var/lib/mysql
shell> ls -l | grep temp
drwxr-x---. 2 mysql mysql 4096 Dec 11 14:05 #innodb_temp

Which statement is true about disk temporary tables for this installation?

○ A) Only internal temporary tables from the optimizer will be created in tmpdir.
○ B) Temporary tables are created in tmpdir only after they reach tmp_table_size.
○ C) Temporary tables are created in tmpdir only if configured to use MyISAM.
○ D) Temporary tables will use the InnoDB temporary tablespace located in datadir.
○ E) Temporary tables will use the InnoDB temporary tablespace located in /tmp.

翻译

选择两个答案。

你在 Oracle Linux 上安装了 MySQL 8。
查看输出:

mysql> SHOW GLOBAL VARIABLESWHERE Variable_name = 'tmpdir'OR Variable_name = 'tmp_table_size';
+----------------+----------+
| Variable_name  | Value    |
+----------------+----------+
| tmp_table_size | 16777216 |
| tmpdir         | /tmp     |
+----------------+----------+
2 rows in set (0.01 sec)shell> cd /var/lib/mysql
shell> ls -l | grep temp
drwxr-x---. 2 mysql mysql 4096 Dec 11 14:05 #innodb_temp

关于此安装的磁盘临时表,哪个陈述是正确的?

○ A) 只有优化器的内部临时表会在 tmpdir 中创建。
○ B) 临时表只有在达到 tmp_table_size 大小时才会在 tmpdir 中创建。
○ C) 临时表只有在配置为使用 MyISAM 时才会在 tmpdir 中创建。
○ D) 临时表将使用位于 datadir 中的 InnoDB 临时表空间。
○ E) 临时表将使用位于 /tmp 中的 InnoDB 临时表空间。

解析和答案

  • 选项A:除了优化器的内部临时表,其他临时表也可能在 tmpdir 中创建,A错误。
  • 选项Btmp_table_size 是内存临时表的大小限制,当内存临时表超过该大小时会转为磁盘临时表,磁盘临时表的创建位置与 tmp_table_size 没有直接的“只有达到才创建”的关系,B错误。
  • 选项C:InnoDB 也可以创建磁盘临时表,不是只有 MyISAM,C错误。
  • 选项D:从 ls 输出看到在 datadir/var/lib/mysql )下有 #innodb_temp 目录,这是 InnoDB 临时表空间的位置,所以临时表会使用位于 datadir 中的 InnoDB 临时表空间,D正确。
  • 选项E:InnoDB 临时表空间在 datadir 下,不是 /tmp,E错误。

所以答案是D。

知识点总结

  • MySQL临时表配置:了解 MySQL 中与临时表相关的配置变量,如 tmpdir(指定磁盘临时表的存储目录 )和 tmp_table_size(指定内存临时表的最大大小,超过该大小的临时表会转为磁盘临时表 )。
  • InnoDB临时表空间:清楚 InnoDB 存储引擎在 MySQL 8 及以上版本中使用独立的临时表空间(默认位于 datadir 下的 #innodb_temp 目录 )来存储磁盘临时表,而不是使用 tmpdir 指定的目录。
  • 临时表存储引擎:知道 MySQL 中的临时表可以使用不同的存储引擎(如 InnoDB、MyISAM 等 ),InnoDB 临时表存储在 InnoDB 临时表空间中,而 MyISAM 临时表存储在 tmpdir 指定的目录中。
  • 内存与磁盘临时表转换:理解当内存临时表的大小超过 tmp_table_size 时,MySQL 会将其转换为磁盘临时表,磁盘临时表的存储位置取决于使用的存储引擎。
  • tmpdir作用:明白 tmpdir 主要用于存储 MyISAM 临时表和其他一些临时文件,而 InnoDB 临时表使用自己的临时表空间。
  • 系统命令输出分析:能够通过 ls 等系统命令的输出来分析数据库文件的存储位置和结构,如本题中通过 ls -l | grep temp 输出判断 InnoDB 临时表空间的位置。

题目157

Choose the best answer.

Examine this command and output:

mysql> SHOW GLOBAL STATUS LIKE 'Firewall%';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| Firewall_access_denied  | 7     |
| Firewall_access_granted | 4     |
| Firewall_access_suspicious | 3     |
| Firewall_cached_entries | 11    |
+-------------------------+-------+

Which statement is true?

○ A) Firewall_cached_entries is the number of statements found in the query cache for users in DETECTING mode.
○ B) Firewall_access_suspicious is the number of statements logged as suspicious for users in DETECTING mode.
○ C) Firewall_access_denied is the number of connection attempts from prohibited hosts that are denied.
○ D) Firewall_access_granted is the number of connections granted from whitelisted hosts.

翻译

选择最佳答案。

查看以下命令和输出:

mysql> SHOW GLOBAL STATUS LIKE 'Firewall%';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| Firewall_access_denied  | 7     |
| Firewall_access_granted | 4     |
| Firewall_access_suspicious | 3     |
| Firewall_cached_entries | 11    |
+-------------------------+-------+

哪个陈述是正确的?

○ A) Firewall_cached_entries 是在 DETECTING 模式下用户的查询缓存中找到的语句数量。
○ B) Firewall_access_suspicious 是在 DETECTING 模式下被记录为可疑的语句数量。
○ C) Firewall_access_denied 是来自被禁止主机的被拒绝的连接尝试数量。
○ D) Firewall_access_granted 是来自白名单主机的被授予的连接数量。

解析和答案

  • 选项AFirewall_cached_entries 表示防火墙缓存的条目数量,与查询缓存无关,A错误。
  • 选项B:在 MySQL 防火墙中,Firewall_access_suspicious 确实表示在 DETECTING 模式下被记录为可疑的语句数量,B正确。
  • 选项CFirewall_access_denied 是被防火墙拒绝的访问数量,不仅仅是来自被禁止主机的连接尝试,C错误。
  • 选项DFirewall_access_granted 是被防火墙授予的访问数量,不一定是来自白名单主机的连接,D错误。

综上,正确答案是 B

知识点总结

  • MySQL 防火墙状态变量:了解与 MySQL 防火墙相关的状态变量(如 Firewall_access_deniedFirewall_access_grantedFirewall_access_suspiciousFirewall_cached_entries)的含义和作用。
  • 防火墙模式:理解 DETECTING 模式下防火墙的行为,以及在该模式下各个状态变量的统计内容。
  • 连接与访问控制:掌握防火墙在控制连接和访问方面的功能,以及如何通过状态变量查看相关统计信息。

题目158

Choose the best answer.

Examine this command:
shell> mysqldump --no-create-info --all-databases --result-file=dump.sql
Which statement is true?

○ A) It will not write CREATE TABLESPACE statements.
○ B) It will not write CREATE LOGFILE GROUP statements.
○ C) It will not write CREATE DATABASE statements.
○ D) It will not write CREATE TABLE statements.

翻译

选择最佳答案。

查看此命令:
shell> mysqldump --no-create-info --all-databases --result-file=dump.sql
哪个陈述是正确的?

○ A) 它不会写入 CREATE TABLESPACE 语句。
○ B) 它不会写入 CREATE LOGFILE GROUP 语句。
○ C) 它不会写入 CREATE DATABASE 语句。
○ D) 它不会写入 CREATE TABLE 语句。

解析和答案

  • 选项A--no-create-info 选项主要影响的是表的创建语句,对于 CREATE TABLESPACE 语句,该选项不直接控制其是否生成,A错误。
  • 选项B:同样,该选项不针对 CREATE LOGFILE GROUP 语句,B错误。
  • 选项C--all-databases 选项会导致 mysqldump 生成 CREATE DATABASE 语句,C错误。
  • 选项D--no-create-info 选项的作用是让 mysqldump 不生成 CREATE TABLE 语句,D正确。

所以答案是D。

知识点总结

  • mysqldump 选项作用:了解 mysqldump 工具的 --no-create-info 选项的作用,该选项用于指定在备份数据时不生成 CREATE TABLE 语句,只备份表中的数据。
  • –all-databases 影响:清楚 --all-databases 选项的作用,它会让 mysqldump 备份所有数据库,并生成 CREATE DATABASE 语句来创建相应的数据库。
  • 语句生成控制:明白不同的 mysqldump 选项对不同类型 SQL 语句(如 CREATE TABLESPACECREATE LOGFILE GROUPCREATE DATABASECREATE TABLE )生成的控制方式,--no-create-info 主要控制 CREATE TABLE 语句的生成,而对其他语句的生成影响较小或没有影响。
  • 备份内容理解:理解使用 --no-create-info--all-databases 选项组合进行备份时,备份文件中包含的内容,即包含所有数据库的创建语句(由 --all-databases 导致 )和所有表的数据,但不包含表的创建语句(由 --no-create-info 导致 )。
  • 选项组合效果:掌握不同选项组合使用时的效果,以便根据实际需求选择合适的 mysqldump 命令选项来进行数据库备份。

题目159

Choose two.

Which two are true about differences between logical and physical upgrades of MySQL databases?

□ A) Logical upgrades are much faster because they do not require restarting the mysqld process.
□ B) Physical upgrades are much faster because they do not require restarting the mysqld process.
□ C) Physical upgrades are performed for current instances on bare metal deployments, whereas logical upgrades are used for virtual machines or containerized instances.
□ D) Post-upgrade table storage requirements after physical upgrades are usually smaller than that after logical upgrades.
□ E) Post-upgrade table storage requirements after logical upgrades are usually smaller than that after physical upgrades.
□ F) Physical upgrades leave data in place, whereas logical upgrades require data to be restored from mysqldump-type backups taken before the upgrades.

翻译

选择两项。

关于 MySQL 数据库的逻辑升级和物理升级之间的差异,哪两项是正确的?

□ A) 逻辑升级速度快得多,因为它们不需要重启 mysqld 进程。
□ B) 物理升级速度快得多,因为它们不需要重启 mysqld 进程。
□ C) 物理升级用于裸金属部署上的当前实例,而逻辑升级用于虚拟机或容器化实例。
□ D) 物理升级后表的存储需求通常比逻辑升级后小。
□ E) 逻辑升级后表的存储需求通常比物理升级后小。
□ F) 物理升级保留数据原位,而逻辑升级需要从升级前的 mysqldump 类型备份中恢复数据。

解析和答案

  • 选项A:逻辑升级通常需要更长时间,因为涉及到数据的导出和导入等操作,并且可能需要重启 mysqld 进程,A错误。
  • 选项B:物理升级虽然相对较快,但通常也需要重启 mysqld 进程来完成升级,B错误。
  • 选项C:物理升级和逻辑升级的使用场景与部署环境(裸金属、虚拟机、容器化等)没有必然的对应关系,C错误。
  • 选项D:物理升级不会改变数据的存储格式和结构,而逻辑升级可能会因为数据导出导入等操作导致存储需求变化,通常物理升级后表的存储需求不会比逻辑升级后小,D错误。
  • 选项E:逻辑升级过程中,数据可能会经过一些处理,例如优化存储等,导致升级后表的存储需求通常比物理升级后小,E正确。
  • 选项F:物理升级是直接对数据库文件进行操作,数据保留在原位;而逻辑升级需要先导出数据(如使用 mysqldump),升级后再导入数据,F正确。

综上,正确答案是 EF

知识点总结

  • 逻辑升级与物理升级概念:理解逻辑升级(通过导出导入数据等方式)和物理升级(直接操作数据库文件等方式)的基本概念和操作方式。
  • 升级对存储的影响:了解逻辑升级和物理升级在升级后对表存储需求的不同影响,逻辑升级可能会优化存储,导致存储需求相对较小。
  • 数据处理方式:掌握物理升级保留数据原位,逻辑升级需要依赖备份恢复数据的特点。

题目160

Choose the best answer.

You wish to protect your MySQL database against SQL injection attacks.
Which method would fail to do this?

○ A) using stored procedures for any database access
○ B) avoiding concatenation of SQL statements and user-supplied values in an application
○ C) using PREPARED STATEMENTS
○ D) installing and configuring the Connection Control plugin

翻译

选择最佳答案。

你希望保护你的 MySQL 数据库免受 SQL 注入攻击。
哪种方法无法做到这一点?

○ A) 对任何数据库访问都使用存储过程
○ B) 在应用程序中避免将 SQL 语句和用户提供的值进行拼接
○ C) 使用预处理语句(PREPARED STATEMENTS)
○ D) 安装和配置连接控制(Connection Control)插件

解析和答案

  • 选项A:使用存储过程可以将 SQL 逻辑封装在数据库端,减少应用程序中直接拼接 SQL 语句的风险,在一定程度上有助于防止 SQL 注入,A不符合题意。
  • 选项B:避免 SQL 语句和用户输入值的拼接是防止 SQL 注入的重要措施,因为拼接容易导致恶意 SQL 代码被注入,B不符合题意。
  • 选项C:预处理语句(如 PREPAREEXECUTE )可以将 SQL 语句和参数分离,有效防止 SQL 注入,C不符合题意。
  • 选项D:连接控制插件主要用于限制客户端的连接尝试次数等连接层面的控制,与防止 SQL 注入攻击没有直接关系,D符合题意。

所以答案是D。

知识点总结

  • SQL注入攻击防护:了解防止 SQL 注入攻击的常用方法,包括使用存储过程、避免 SQL 语句拼接、使用预处理语句等。
  • 存储过程作用:存储过程可以将 SQL 逻辑封装在数据库中,减少应用程序与数据库之间直接的 SQL 语句交互,从而降低 SQL 注入的风险。
  • SQL拼接风险:SQL 语句和用户输入值的拼接是导致 SQL 注入的常见原因,避免这种拼接是防护的关键。
  • 预处理语句优势:预处理语句将 SQL 语句的结构和参数分开处理,参数不会被当作 SQL 代码执行,有效防止 SQL 注入。
  • 连接控制插件功能:连接控制插件主要用于控制客户端的连接行为,如限制连接尝试次数、设置连接超时等,与 SQL 注入防护无关。
http://www.lryc.cn/news/606302.html

相关文章:

  • Verilog与SytemVerilog差别
  • 文法中的间接左递归
  • 行业热点丨仿真历史数据难以使用?如何利用几何深度学习破局,加速汽车工程创新
  • 【BUUCTF系列】[HCTF 2018]WarmUp1
  • 第15届蓝桥杯C++青少组中级组选拔赛(STEMA)2024年3月10日真题
  • 大模型流式长链接场景下 k8s 优雅退出 JAVA
  • 永磁同步电机无速度算法--直流误差抑制自适应二阶反推观测器
  • 公路坑槽检测分析原理和思路
  • Java——数组及Java某些方法、二维数组
  • #C语言——刷题攻略:牛客编程入门训练(一):简单输出、基本类型
  • C++游戏开发(2)
  • 一次性接收大量上传图片,后端优化方式
  • 代码随想录算法训练营第五十七天|图论part7
  • Qt 消息弹窗 Toast
  • 两款免费数据恢复软件介绍,Win/Mac均可用
  • python后端之DRF框架(下篇)
  • 《零基础入门AI:传统机器学习核心算法(决策树、随机森林与线性回归)》
  • wxPython 实践(五)高级控件
  • 【ad-hoc构造】P10033 「Cfz Round 3」Sum of Permutation|普及+
  • vscode插件开发(腾讯混元)
  • Go再进阶:结构体、接口与面向对象编程
  • Cesium 快速入门(三)Viewer:三维场景的“外壳”
  • 基于深度学习的医学图像分析:使用BERT实现医学文本分类
  • 零信任网络概念及在网络安全中的应用
  • 【数据库】MySQL 详细安装与基础使用教程(8版本下载及安装)
  • RWA+AI算力賦能全球醫療数字產業升級高峰論壇——暨BitHive BTT 全球發佈會
  • C++面试5题--6day
  • wpf之ContentPresenter
  • PyTorch深度学习快速入门学习总结(三)
  • 【机器学习篇】01day.python机器学习篇Scikit-learn入门