MySQL 8.0 OCP(1Z0-908)中文题库解析

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介: 使用 MySQL Enterprise Monitor的无代理安装监视 MySQL服务器。

作者介绍:姚远,Oracle ACE(Oracle和MySQL数据库方向),华为云MVP,《MySQL 8.0运维与优化》的作者。中国第一个Oracle高可用大师,拥有包括 Oracle 10g和12c OCM在内的20+数据库相关认证。曾任IBM公司数据库部门经理,现在一家第三方公司任首席数据库专家,服务2万+客户。

MySQL 8.0 OCP(1Z0-908)考试分中文和英文,这里是中文的题库解析。


01


使用 MySQL Enterprise Monitor的无代理安装监视 MySQL服务器。

以下哪两项功能可用于此安装方法?

A)磁盘使用情况和磁盘特征,包括磁盘顾问程序警告

B)操作系统内存利用率

C) CPU 占用率

D)与安全有关的顾问程序警告

E) MySQL 复制监视

Answer:DE

02


关于冷备份,下列哪项描述是正确的?

A)如果只需要备份数据结构而不需要备份日志文件,则很适合使用它们。

B)它们是从正在运行的数据库的快照获取的备份。

C)它们是从操作系统复制命令获取的备份。

D)当许多用户在线访问数据库时,它们很适合使用。

Answer:C

03


0racle Linux 上安装了 MySQL 8.0

请分析以下命令和输出。


mysql> SHOW GLOBAL VARIABLES  WHERE Variable_name='tmpdir'  OR Variable_name ='tmp_table_size';+----------------+----------+| Variable_name  | Value    |+----------------+----------+| tmp_table_size | 16777216 || tmpdir         | /tmp     |+----------------+----------+2 rows in set (0.00 sec)
shell> cd /var/lib/mysqlshell> ls -l |grep tempdrwkr-x---.2 mysql mysql 4056 Dec 11 14:05 #innodb_temp

关于此安装的磁盘临时表,下列哪项描述是正确的?

A)仅当将临时表配置为使用 MylSAM 时,才会在tmpdir中创建临时表。

B)临时表将使用位于datadir中的InnoDB临时表空间。

C)临时表将使用位于/tmp 中的 InnoDB 临时表空间。

D)仅当临时表到达 tmp_table_size 后,才会在 tmpdir中创建临时表。

E)在tmpdir中只会创建来自优化程序的内部临时表。

Answer:B


超过tmp_table_size 和max_heap_table_size最小值的临时表创建到磁盘上。

Tmpdir目录下创建的是临时文件,默认是/tmp

InnoDB用户创建的临时表和磁盘上的内部临时表是在MySQL数据目录中名为ibtmp1的临时表空间文件中创建的,是全局临时表空间。#innodb_temp 目录下是会话临时表空间

参见官方文档:15.6.3.5 Temporary Tablespaces

参见:MySQL的临时表--永远没有结束的故事

04


分析下面的语句和输出:




mysql>SHOW GRANTS FOR jsmith;+----------------------------------------------------------------------+| IGrants for jsmith@%                                                 |+----------------------------------------------------------------------+| IGRANT USAGE ON * * TO 'jsmith'@'%'                                 || IGRANT UPDATE (Name) ON 'world' ; country' TO 'jsmith'@'%';          |+----------------------------------------------------------------------+2 rows in set(0.00sec)

jsmith可以执行哪两条SQL语句?

A)UPDATE world.country SET Name='all;

B)UPDATE world.Country SET Name='new' WHERE Name='old;

C)UPDATE world.country SET Name='one' LIMIT1;

D)UPDATE world.country SET Name='first' ORDER BY Name LIMIT 1;

E)UPDATE world.country SET Name=CONCAT('New',Name);

Answer:AC


BDE 需要在name字段上面有select权限。具体解析参见:MySQL 8.0 OCP中文题库(1Z0-908)字段权限

05


分析以下成功执行的语句:




CREATE TABLE rental (rental id int unsigned NOT NULL AUTO INCREMENT,rental date datetime NOT NULL,inventory id int unsigned NoT NULL,customer id int unsigned NOT NULL,return date datetime DEFAULT NULL,staff id int unsigned NoT NULL,Iast update timestamp NOT NULL DEFAULT CURRENT TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (rental id)ENGINE-InnoDB;

现在,检查以下查询:


SELECT rental_id,customer_idFROM rentalwhere rental_date between now() - interval 1 month and now()AND inventory_id=42AND staff_id=1024;

您希望添加一个或多个索引,最大程度地减少查询工作量。

以下哪条语句可完成此任务?

A) ALTER TABLE rental

ADD INDEx(inventory_id),

ADD INDEX (staff_id)

ADD INDEX (rental_date),

ADD INDEx (customer_id);

B)ALTER TABLE rental

ADD INDEx (inventory_id, staff_id,rental_date,customer_id);

C) ALTER TABLE rental

ADD INDEx (inventory_id,staff_id customer_id, rental_id, rental_date);

D) ALTER TABLE rental

ADD INDEX (inventory_id),

ADD INDEX (staff_id)

ADD INDEX (rental_date):

E) ALTER TABLE rental

ADD INDEX (rental_date,inventory_id, staff_id, customer_id);

F) ALTER TABLE rental ADD INDEX (inventory_id,staff_id,rental_date);

答案:B

解析录像参见:MySQL 8.0 OCP中文题库(1Z0-908)索引选择

对于这个查询语句,我们可以创建一个把where条件里面的3个字段都包括的索引,按照字段的选择性从高到低进行排列



mysql> ALTER TABLE rental ADD INDEX yaoyuan1(inventory_id,staff_id, rental_date);Query OK, 0 rows affected (0.88 sec)Records: 0  Duplicates: 0  Warnings: 0
mysql>  explain SELECT rental_id,customer_id FROM rental where rental_date between now() - interval 1 month and now() AND inventory_id=42 AND staff_id=1\G*************************** 1. row ***************************           id: 1  select_type: SIMPLE        table: rental   partitions: NULL         type: rangepossible_keys: yaoyuan1          key: yaoyuan1      key_len: 9          ref: NULL         rows: 1     filtered: 100.00        Extra: Using index condition1 row in set, 1 warning (0.00 sec)

我们可以看到这个索引的过滤效果非常好,达到了100%,但还有没有更好的索引呢?有的,我们可以把要查询的字段rental_id和customer_id加入到索引中,这样这个select语句只读索引不读表即可检索到所需要的数据,减少了一个访问表的动作。因为rental_id是主键,MySQL的索引中默认已经包括了主键,因此只增加customer_id字段即可:



mysql>  ALTER TABLE rental ADD INDEX yaoyuan2(inventory_id,staff_id,rental_date,customer_id);Query OK, 0 rows affected (0.94 sec)Records: 0  Duplicates: 0  Warnings: 0
mysql>  explain SELECT rental_id,customer_id FROM rental where rental_date between now() - interval 1 month and now() AND inventory_id=42 AND staff_id=1\G*************************** 1. row ***************************           id: 1  select_type: SIMPLE        table: rental   partitions: NULL         type: rangepossible_keys: yaoyuan1,yaoyuan2          key: yaoyuan2      key_len: 9          ref: NULL         rows: 1     filtered: 100.00        Extra: Using where; Using index1 row in set, 1 warning (0.00 sec)

我们创建了这个索引后,可以看到MySQL从两个索引中选择了后者,Extra字段中的“Using index”表示只访问索引不访问表即可完成select的检索。因此这个索引的效率是最高的。

录像解析参见:

这一题做错的学员太多了,大家小心。

06


从属服务器I/O线程执行什么操作?

A)连接到主服务器并请求其发送在其二进制日志中记录的更新

B)监视和调度对中继日志子系统的1/O调用

C)读取中继日志并执行其中包含的事件

D)获取二进制日志的锁, 以便读取要发送到从属服务器的每个事件

Answer:A

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
SQL 关系型数据库 MySQL
深入解析MySQL的EXPLAIN:指标详解与索引优化
MySQL 中的 `EXPLAIN` 语句用于分析和优化 SQL 查询,帮助你了解查询优化器的执行计划。本文详细介绍了 `EXPLAIN` 输出的各项指标,如 `id`、`select_type`、`table`、`type`、`key` 等,并提供了如何利用这些指标优化索引结构和 SQL 语句的具体方法。通过实战案例,展示了如何通过创建合适索引和调整查询语句来提升查询性能。
2890 10
|
存储 关系型数据库 MySQL
double ,FLOAT还是double(m,n)--深入解析MySQL数据库中双精度浮点数的使用
本文探讨了在MySQL中使用`float`和`double`时指定精度和刻度的影响。对于`float`,指定精度会影响存储大小:0-23位使用4字节单精度存储,24-53位使用8字节双精度存储。而对于`double`,指定精度和刻度对存储空间没有影响,但可以限制数值的输入范围,提高数据的规范性和业务意义。从性能角度看,`float`和`double`的区别不大,但在存储空间和数据输入方面,指定精度和刻度有助于优化和约束。
1961 5
|
监控 关系型数据库 MySQL
MySQL自增ID耗尽应对策略:技术解决方案全解析
在数据库管理中,MySQL的自增ID(AUTO_INCREMENT)属性为表中的每一行提供了一个唯一的标识符。然而,当自增ID达到其最大值时,如何处理这一情况成为了数据库管理员和开发者必须面对的问题。本文将探讨MySQL自增ID耗尽的原因、影响以及有效的应对策略。
663 3
|
存储 关系型数据库 MySQL
MySQL 字段类型深度解析:VARCHAR(50) 与 VARCHAR(500) 的差异
在MySQL数据库中,`VARCHAR`类型是一种非常灵活的字符串存储类型,它允许存储可变长度的字符串。然而,`VARCHAR(50)`和`VARCHAR(500)`之间的差异不仅仅是长度的不同,它们在存储效率、性能和使用场景上也有所不同。本文将深入探讨这两种字段类型的区别及其对数据库设计的影响。
562 2
|
存储 关系型数据库 MySQL
PHP与MySQL动态网站开发深度解析####
本文作为技术性文章,深入探讨了PHP与MySQL结合在动态网站开发中的应用实践,从环境搭建到具体案例实现,旨在为开发者提供一套详尽的实战指南。不同于常规摘要仅概述内容,本文将以“手把手”的教学方式,引导读者逐步构建一个功能完备的动态网站,涵盖前端用户界面设计、后端逻辑处理及数据库高效管理等关键环节,确保读者能够全面掌握PHP与MySQL在动态网站开发中的精髓。 ####
|
存储 关系型数据库 MySQL
MySQL MVCC深度解析:掌握并发控制的艺术
【10月更文挑战第23天】 在数据库领域,MVCC(Multi-Version Concurrency Control,多版本并发控制)是一种重要的并发控制机制,它允许多个事务并发执行而不产生冲突。MySQL作为广泛使用的数据库系统,其InnoDB存储引擎就采用了MVCC来处理事务。本文将深入探讨MySQL中的MVCC机制,帮助你在面试中自信应对相关问题。
454 3
|
缓存 关系型数据库 MySQL
MySQL执行计划深度解析:如何做出最优选择
【10月更文挑战第23天】 在数据库查询性能优化中,执行计划的选择至关重要。MySQL通过查询优化器来生成执行计划,但有时不同的执行计划会导致性能差异。理解如何选择合适的执行计划,以及为什么某些计划更优,对于数据库管理员和开发者来说是一项必备技能。
808 2
|
11月前
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
1083 29
|
11月前
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
464 4
|
11月前
|
JavaScript 算法 前端开发
JS数组操作方法全景图,全网最全构建完整知识网络!js数组操作方法全集(实现筛选转换、随机排序洗牌算法、复杂数据处理统计等情景详解,附大量源码和易错点解析)
这些方法提供了对数组的全面操作,包括搜索、遍历、转换和聚合等。通过分为原地操作方法、非原地操作方法和其他方法便于您理解和记忆,并熟悉他们各自的使用方法与使用范围。详细的案例与进阶使用,方便您理解数组操作的底层原理。链式调用的几个案例,让您玩转数组操作。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~

推荐镜像

更多