MySQL 8.0 OCP 1Z0-908 题目解析(12)
题目045
Choose the best answer.
You want to check the values of the sort_buffer_size session variables of all existing connections.
Which performance_schema table can you query?
○ A) user_variables_by_thread
○ B) global_variables
○ C) variables_by_thread
○ D) session_variables
翻译
选择最佳答案。
你想要检查所有现有连接的 sort_buffer_size
会话变量的值。
你可以查询 performance_schema
中的哪个表?
○ A) user_variables_by_thread
○ B) global_variables
○ C) variables_by_thread
○ D) session_variables
解析和答案
- 选项A:
user_variables_by_thread
表主要存储用户自定义变量相关信息,并非会话变量,A错误。 - 选项B:
global_variables
表存储的是全局变量,而不是会话变量,B错误。 - 选项C:
variables_by_thread
表可以用于查询各个线程(对应现有连接)的会话变量值,包括sort_buffer_size
,C正确。 - 选项D:
performance_schema
中不存在session_variables
这个表 ,D错误。
所以答案是C。
知识点总结
- MySQL性能模式:了解
performance_schema
中不同表的作用和存储内容,掌握如何通过这些表来查询和监控数据库的各种变量(如全局变量、会话变量等),以便进行性能分析和优化。 - 会话变量与全局变量:理解会话变量和全局变量的区别和用途,明确在不同场景下(如检查所有现有连接的变量值)应选择合适的表进行查询,保障对数据库运行状态的准确监控。
题目046
Choose two.
Your MySQL installation is running low on space due to binary logs. You need to reduce your log space usage urgently.
Which two sets of actions when completed will accomplish this?
□ A) Use SET PERSIST binlog_expire_logs_seconds=.
□ B) Use SET GLOBAL binlog_expire_logs_seconds= and restart the server.
□ C) Use PURGE BINARY LOGS to <binlog_name>.
□ D) Set binlog_expire_logs_seconds in my.cnf.
□ E) Use SET GLOBAL binlog_expire_logs_seconds= and run the FLUSH BINARY LOGS command.
□ F) Set binlog_expire_logs_seconds = 0 in my.cnf and restart the server.
翻译
选择两项。
由于二进制日志,你的MySQL安装空间不足。你急需减少日志空间使用量。
完成以下哪两组操作可以实现这一目标?
□ A) 使用SET PERSIST binlog_expire_logs_seconds=<值>。
□ B) 使用SET GLOBAL binlog_expire_logs_seconds=<值> 并重启服务器。
□ C) 使用PURGE BINARY LOGS to <二进制日志文件名>。
□ D) 在my.cnf中设置binlog_expire_logs_seconds。
□ E) 使用SET GLOBAL binlog_expire_logs_seconds=<值> 并运行FLUSH BINARY LOGS命令。
□ F) 在my.cnf中设置binlog_expire_logs_seconds = 0并重启服务器。
解析和答案
- 选项A:
SET PERSIST binlog_expire_logs_seconds=<value>
会将配置持久化到mysqld-auto.cnf
文件,但不会立即清理已有的二进制日志,不能紧急减少日志空间使用量 ,A错误。 - 选项B:
SET GLOBAL binlog_expire_logs_seconds=<value>
只是临时设置全局变量,重启服务器后失效,且不会主动清理已有日志,不能满足紧急需求 ,B错误。 - 选项C:
PURGE BINARY LOGS to <binlog_name>
可以直接删除指定的二进制日志文件,能迅速减少日志占用空间 ,C正确。 - 选项D:在
my.cnf
中设置binlog_expire_logs_seconds
,修改后需重启服务器才生效,不能立即解决空间不足问题 ,D错误。 - 选项E:
SET GLOBAL binlog_expire_logs_seconds=<value>
临时设置全局变量,再配合FLUSH BINARY LOGS
命令,可触发清理旧日志操作,能紧急减少日志空间使用量 ,E正确。 - 选项F:在
my.cnf
中设置binlog_expire_logs_seconds = 0
并重启服务器,只是设置了配置项,不会立即清理日志,不能紧急解决问题 ,F错误。
所以答案是C、E。
知识点总结
- MySQL二进制日志管理:了解MySQL二进制日志的作用和存储方式,掌握清理二进制日志的相关命令(如
PURGE BINARY LOGS
、FLUSH BINARY LOGS
)及其使用方法。理解binlog_expire_logs_seconds
等配置参数对日志清理策略的影响,以及不同设置方式(全局变量设置、配置文件设置等)的生效机制和特点。 - 数据库空间管理:掌握在数据库空间不足时,针对二进制日志等占用空间较大的部分进行有效管理和优化的方法,能够根据实际情况(如紧急程度)选择合适的操作来释放空间,保障数据库的正常运行。
题目047
Choose two.
Which two are contained in the InnoDB system tablespace (ibdata1) by default?
□ A) doublewrite buffer
□ B) change buffer
□ C) InnoDB Data Dictionary
□ D) primary indexes
□ E) table data
□ F) user privileges
翻译
选择两项。
默认情况下,InnoDB系统表空间(ibdata1)中包含以下哪两项?
□ A) 双写缓冲区
□ B) 更改缓冲区
□ C) InnoDB数据字典
□ D) 主索引
□ E) 表数据
□ F) 用户权限
解析和答案
- 选项A:双写缓冲区(doublewrite buffer)默认存在于InnoDB系统表空间(ibdata1)中,用于保障数据页写入的可靠性 ,A正确。
- 选项B:更改缓冲区(change buffer)默认也存于InnoDB系统表空间(ibdata1),用于缓存非唯一二级索引页的写操作 ,B正确。
- 选项C:InnoDB数据字典自MySQL 8.0起存储在单独的共享表空间,而非默认在ibdata1 ,C错误。
- 选项D:主索引一般存储在表对应的独立表空间(如果是独立表空间模式)或系统表空间(如果是系统表空间模式),但不是默认就只在ibdata1 ,D错误。
- 选项E:表数据同样取决于表空间模式,不一定默认在ibdata1 ,E错误。
- 选项F:用户权限存储在MySQL的系统表中,和InnoDB系统表空间无关 ,F错误。
所以答案是A、B。
知识点总结
- InnoDB表空间:了解InnoDB不同表空间(如系统表空间ibdata1 )的作用和存储内容,掌握双写缓冲区、更改缓冲区等重要组件在InnoDB系统表空间中的存储情况,以及InnoDB数据字典、表数据等存储位置随版本的变化。
- InnoDB存储机制:深入理解InnoDB存储引擎的工作机制,包括数据写入、索引存储、表空间管理等方面,明确各组件和数据在不同表空间的分布原理,有助于优化数据库存储和性能。
题目048
Choose two.
You have an InnoDB Cluster configured with three servers.
Examine this command, which executes successfully:
mysqldump -uroot -p -d mydatabase > mydatabase_backup.sql
Due to data loss, the cluster is initialized and a restore is attempted resulting in this error:
ERROR 13176 (HY000) at line 23: Cannot update GTID_PURGED with the Group Replication plugin running
Which two actions, either one of which, can fix this error and allow a successful restore of the cluster?
□ A) Remove the group replication plugin from each instance before restoring.
□ B) Remove the @@GLOBAL.gtid_executed statement from the dump file.
□ C) Stop all instances except the primary read/write master instance and run the restore.
□ D) Restore using the --set-gtid-purged=OFF option.
□ E) Remove the @@GLOBAL.gtid_purged statement from the dump file.
□ F) Create the backup by using the --set-gtid-purged=OFF option.
翻译
选择两项。
你配置了一个由三台服务器组成的InnoDB集群。
查看这条成功执行的命令:
mysqldump -uroot -p -d mydatabase > mydatabase_backup.sql
由于数据丢失,对集群进行了初始化并尝试恢复,结果出现此错误:
ERROR 13176 (HY000) at line 23: Cannot update GTID_PURGED with the Group Replication plugin running
以下哪两个操作,任选其一,可修复此错误并成功恢复集群?
□ A) 在恢复前从每个实例中移除组复制插件。
□ B) 从转储文件中删除@@GLOBAL.gtid_executed语句。
□ C) 停止除主读写主实例之外的所有实例并运行恢复操作。
□ D) 使用–set-gtid-purged=OFF选项进行恢复。
□ E) 从转储文件中删除@@GLOBAL.gtid_purged语句。
□ F) 使用–set-gtid-purged=OFF选项创建备份。
解析和答案
- 选项A:移除组复制插件会破坏集群的复制功能,不是解决该错误的正确方法,A错误。
- 选项B:
@@GLOBAL.gtid_executed
与当前错误关联不大,删除它不能解决问题,B错误。 - 选项C:停止部分实例不能解决
GTID_PURGED
更新冲突的问题,C错误。 - 选项D:恢复时使用
--set-gtid-purged=OFF
不能直接解决已有备份文件与集群GTID_PURGED
冲突问题,D错误。 - 选项E:从转储文件中删除
@@GLOBAL.gtid_purged
语句,可避免恢复时该语句与集群当前状态冲突,能解决错误,E正确。 - 选项F:使用
--set-gtid-purged=OFF
选项创建备份,可防止备份文件中包含冲突的GTID_PURGED
相关信息,后续恢复时可避免错误,F正确。
所以答案是E、F。
知识点总结
- InnoDB集群恢复:了解InnoDB集群恢复过程中可能遇到的错误(如与
GTID_PURGED
相关的冲突错误 ),掌握处理这些错误的方法,包括对备份文件内容的调整(如删除特定语句)以及备份和恢复选项(如--set-gtid-purged
)的正确使用。 - GTID与组复制:理解GTID(全局事务标识符)在组复制中的作用和机制,明确
GTID_PURGED
等相关变量在集群恢复和数据一致性保障方面的重要性,能够根据实际情况(如恢复错误)进行针对性的操作和调整,确保集群恢复顺利进行。