暂无图片
暂无图片
11
暂无图片
暂无图片
暂无图片

MySQL 8.0 OCP 1Z0-908 考试解析指南(二)

原创 JiekeXu 2025-04-30
1111
作者 | JiekeXu
来源 |公众号 JiekeXu DBA之路(ID: JiekeXu_IT)
如需转载请联系授权 | (个人微信 ID:JiekeXu_DBA)
大家好,我是JiekeXu,江湖人称“强哥”,青学会MOP技术社区联合创始人,荣获Oracle ACE Pro称号,墨天轮MVP,墨天轮年度“墨力之星”,拥有Oracle  OCP/OCM 认证,MySQL 5.7/8.0 OCP认证以及KCA、KCP、KCSM、PCA、PCTA、OBCA等众多国产数据库认证证书,今天和大家一起来看看 MySQL 8.0 OCP 考试题解析指南。欢迎点击下方“JiekeXu DBA之路”公众号名片可关注我的微信公众号,然后点击右上方三个点“设为星标”置顶,更多干货文章才能第一时间推送给你!后台回复【加群】,添加我个人微信拉你进群交流学习。

前  言

就在 4 月 25 日中午,Oracle 官方为了庆祝 MySQL 数据库开源 30 周年特意举办了一个免费考试的活动,从四门考试中任选两门免费考试,详情请参见上一篇文章【是真的,MySQL 30 周年庆!MySQL 8.0 OCP 认证限时免费考】,这意味着你可以不用购买考券不用借助培训机构自行报名在家参加线上考试了,节省了几千块的培训费不说也节省了考券费,故此白嫖党就特别多,不但让 OU 官网瘫痪不能访问就连后面激活考券约考试都频频出错,实在是太火爆了。

图片
(激活课程时报错 There is no more room available onthis order 没有可用的 room 资源,需要稍后再试)

前面写了两篇文章阅读量也非常高,也在微信群中说了上图中没有考试资源的原因,总之这波白嫖让上千人拿到证书,也是有利有弊吧。
《MySQL 8.0 OCP 1Z0-908 考试题解析指南》
《快来白嫖呀~从0到1的 MySQL 8.0 OCP 考试报考指南(建议收藏)》

考的人多了,证书就不值钱了,对拥有证书的人来说是降低了门槛,拉低了行业标准;对培训机构来说更是不小的打击,原来要是有一个人报名考试就三五千的培训费现在一毛钱都挣不到了,打击不小。物以稀为贵的道理大家都懂,满大街都是 OCP 是好是坏呢?谁也说不准,但是记住一个道理,早就是优势,各行各业都能说明这个道理。那么还要不要考呢?自己掂量吧,付出和回报成正比就干吧。

说说考试事项

先放几个比较有用的网址吧!
30年庆 活动网址:https://education.oracle.com/mysql-promo

查看考券地址 My Exam Wallet:https://mylearn.oracle.com/ou/examcredits

IZ0-908 课程地址

https://mylearn.oracle.com/ou/learning-path/become-a-mysql-80-database-admin-professional/97589
考试预约成功界面

摄像头音频设备检查及插件下载: https://mylearn.oracle.com/ou/exam-unproctored/-/139184/220642 如下,我的 Google 还没有安装插件,点击下载跳转到 Google 商店下载,很遗憾访问不了要梯子,故这里建议使用 Edge 浏览器,不需要 VPN 就可以下载当然这里要通过 Oracle 账号登录才能到这个页面,然后获取插件Secure Exam Proctor,Edge 浏览器安装就行

上面也说了,不能使用多个显示器,浏览器也只能打开考试的一个页面,不能翻译不能有其他翻译插件,需全屏模式。然后就进行摄像头音频、网络等相关的检查检测,检查不过会提示,不用担心不是真实考试。要是检查不过就换笔记本吧!
接下来在指示区域内向摄像头展示一张身份证。这将用于验证您的身份。如果验证不成功,将显示一个链接,只需点击链接以手动扫描您的身份证照片,然后开始考试。

如下是测试过程,并不是真实考试,邮箱也会受到考试结果分数,不用担心,测试而已。然后邮箱会收到一个验证码,实际考试的时候也会发送需要的验证码,需要填到签到页面才能开始真正的考试。

测试过程就到这了,再来说说考试题解析吧!

考试解析

既然每个人都能参加考试了,那么都是抱着白嫖的心态来的,那么我也不能扫了大家的兴,这里准备把去年初考过的题库和解析分享给大家一部分,因包含图片、代码、网址、中英文等,格式上不太友好,建议打开电脑浏览器观看。
https://dev.mysql.com/doc/mysql-linuxunix-excerpt/8.0/en/linux-installation-rpm.html 
grep 'temporary password' /var/log/mysqld.logmysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
Choose three.Which three settings control global buffers shared by all threads on a MySQL server?哪三个设置控制MySQL服务器上所有线程共享的全局缓冲区?A)tmp_table_size B)innodb_buffer_pool_size C)table_open_cache D)sort_buffer_size E)key_buffer_size F)read_buffer_size 

AnswerBCE

https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_buffer_pool_size

Innodb_buffer_pool_size:缓冲池的大小(以字节为单位)InnoDB缓存表和索引数据的内存区域。默认值为134217728字节(128MB)最大值取决于CPU架构;64位系统上最大值为18446744073709551615(264-1)。当缓冲池的大小大于1GB时,将innodb_buffer_pool_instances设置为大于1的值可以提高繁忙服务器上的可伸缩性。更大的缓冲池需要更少的磁盘I/O来多次访问相同的表数据。在专用数据库服务器上,可以将缓冲池大小设置为机器物理内存大小的80%

https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_tmp_table_size

Tmp_table_size:定义由内存存储引擎和TempTable存储引擎(MySQL 8.0.28)创建的内部内存临时表的最大大小。如果内存中的内部临时表超过了这个大小,它会自动转换为磁盘上的内部临时表。

table_open_cache:所有线程打开的表的数量。增加这个值会增加mysqld所需的文件描述符的数量。该变量的有效值为open_files_limit的有效值(10)max_connections / 2的有效值和400的有效值中较大的一个;MAX((open_files_limit - 10 - max_connections) / 2,400)

key_buffer_size :MyISAM表的索引块被缓冲,并由所有线程共享。Key_buffer_size是用于索引块的缓冲区的大小。键缓冲区也称为键缓存。

sort_buffer_size:每个必须执行排序的会话分配一个这样大小的缓冲区。Sort_buffer_size不是特定于任何存储引擎的,而是以通用的方式应用于优化。至少sort_buffer_size值必须足够大,以便在排序缓冲区中容纳15个元组。此外,增加max_sort_length的值可能需要增加sort_buffer_size的值。

Read_buffer_size:MyISAM表进行顺序扫描的每个线程为它扫描的每个表分配一个这样大小(以字节为单位)的缓冲区。如果执行多次顺序扫描,可能需要增加该值,默认值为131072。这个变量的值应该是4KB的倍数。如果设置的值不是4KB的倍数,则将其值四舍五入到最接近的4KB的倍数。

Choose the best answer.You plan to take daily full backups, which include the ndbinfo and sys (internal) databases.Which command will back up the databases in parallel?A) mysqldump --all-databases > full-backup-$(date + %Y%m%d).sqlB) mysqlpump --include-databases=% > full-backup-$(date + %Y%m%d).sqlC) mysqlpump --all-databases > full-backup-$(date + %Y%m%d).sqlD) mysqldump --single-transaction > full-backup-$(date + %Y%m%d).sql
Answer: B


mysqlpump -h192.168.217.86 -uroot -pMySQL8.0 -P 3306 --set-gtid-purged=OFF -S /mysql/data/mysql3306/socket/mysql3306.sock --include-databases=% > fullbackup$(date+%Y%m%d).sql


mysqlpump备份文件中包含 information_schema、 mysql、 performance_schema、 sys 库


mysqldump -h192.168.217.86 -uroot -pMySQL8.0 -P 3306 -S /mysql/data/mysql3306/socket/mysql3306.sock --all-databases > full-backup-$(date+%Y%m%d).sql


mysqldump 默认不转储 performance_schema 或 sys 模式。要转储这些数据库,请在命令行中明确命名它们。也可以使用 --databases 选项来命名它们。对于 performance_schema,还可以使用 --skip-locktables 选项。 也不转储 INFORMATION_SCHEMA 和 NDB Cluster ndbinfo 库。
https://dev.mysql.com/doc/refman/8.0/en/mysqlpump.html#mysqlpump-restrictions 
mysqlpump does not dump the performance_schema, ndbinfo, or sys schema by default.但是通过可以添加 --include-databases=% 来备份所有数据库。
https://dev.mysql.com/doc/refman/8.0/en/mysqlpump.html
mysqlpump 客户端实用程序执行逻辑备份,生成一组 SQL 语句,可以执行这些语句来重现原始数据库对象定义和表数据。它转储一个或多个 MySQL 数据库,以便备份或传输到另一个 SQL 服务器。mysqlpump 自 MySQL 8.0.34 起已弃用;预计它将在 MySQL 的未来版本中被删除。您可以使用mysqldump 和 MySQL Shell 等 MySQL 程序来执行逻辑备份、转储数据库和类似的任务。


选项 C, mysqlpump --all-databases,虽然是指定 all-databases,但其并不会备份 sys 和 PS,如果要针对 sys 和 PS 以及 ndbinfo 进行备份,需要使用--include-databases 来指定。


选项 B, mysqlpump --include-databases=%,使用 1 个通配符%来指定要备份的数据库,那么 SYS 和 PS以及 ndbinfo 就可以备份出来了。


Mysqlpump 的特性包括:


并行处理数据库和数据库中的对象,以加快转储过程


更好地控制转储哪些数据库和数据库对象
(表、存储的程序、用户帐户)


将用户帐户转储为帐户管理语句(CREATE user, GRANT),而不是插入到 mysql 系统数据库中创建压缩输出的能力进度指示器(值是估计值)


对于转储文件的重新加载,通过在行之后添加索引来加快 InnoDB 表的二级索引创建

mysqlpump至少需要对转储表有SELECT权限,对转储视图有SHOW VIEW权限,对转储触发器有TRIGGER权限,如果没有使用--single-transaction选项,则需要LOCK tables权限。转储用户定义需要mysql系统数据库上的SELECT权限。某些选项可能需要选项描述中提到的其他特权。

要重新加载转储文件,您必须具有执行其中包含的语句所需的特权,例如由这些语句创建的对象的适当CREATE特权。

mysqlpump限制

Mysqlpump默认不转储performance_schemandbinfosys schema。要转储其中的任何一个,请在命令行上显式地命名它们。您还可以使用--databases--include-databases选项来命名它们。

mysqlpump不转储INFORMATION_SCHEMA模式。

mysqlpump不转储InnoDB CREATE TABLESPACE语句。

mysqlpump使用CREATE userGRANT语句(例如,当您使用--include-users--users选项时)以逻辑形式转储用户帐户。因此,mysql系统数据库的转储默认不包含.

28、Choose three.Your MySQL server is running on the Microsoft Windows platform.Which three local connection protocols are available to you?您可以使用哪三种本地连接协议?A) UDPB) shared memoryC) SOCKETD) named pipesE) X ProtocolF) TCP/IP

Answer: BDF 

https://dev.mysql.com/doc/refman/8.0/en/connection-options.html#option_general_protocol     在windows 本地上没有socket 

https://dev.mysql.com/doc/refman/8.0/en/audit-log-installation.html 

要安装 MySQL Enterprise Audit,请查看MySQL安装的共享目录,并选择适合您平台的脚本。可用脚本的不同之处在于用于引用脚本的文件名:

• audit_log_filter_win_install.sql 

• audit_log_filter_linux_install.sql 

从MySQL 8.0.34开始,可以在运行安装脚本时选择一个数据库来存储JSON筛选表。首先创建数据库;其名称不应超过64个字符。

mysql> CREATE DATABASE IF NOT EXISTS database-name;

$> mysql -u root -p -D database-name < audit_log_filter_linux_install.sql

Enter password: (enter root password here)

安装MySQL企业审计后,您可以使用 –Audit-log选项来控制后续服务器启动audit_log插件的激活。例如,为了防止插件在运行时被删除,使用这个选项:

[mysqld]

audit-log=FORCE_PLUS_PERMANENT

如果想要防止服务器在没有审计插件的情况下运行,使用—audit-log和FORCE或FORCE_PLUS_PERMANENT值来强制服务器启动失败,如果插件没有初始化成功。

31、Choose two.A valid raw backup of the shop.customers MyISAM table was taken.You must restore the table.You begin with these steps:1. Confirm that secure_file_priv= '/var/tmp '2. mysql> DROP TABLE shop.customers;3. shell> cp /backup/customers.MY* /var/1ib/mysql/shop/Which two actions are required to complete the restore?完成还原需要哪两个操作?A) shell> cp /backup/customers.sdi /var/tmpB) mysql> SOURCE '/var/tmp/customers.sdiC) shell> cp /backup/customers.sdi /var/1ib/mysql/shop/D) mysql> ALTER TABLE shop.customers DISCARD TABLESPACE E) shell> cp /backup/customers.frm/var/1ib/mysql/shop/F) mysql> IMPORT TABLE FROM /var/1ib/mysql/shop/customers.sdi.G) mysql> IMPORT TABLE FROM /var/tmp/customers.sdiH) mysql> ALTER TABLE shop.customers IMPORT TABLESPACE
Answer: A Ghttps://dev.mysql.com/doc/refman/8.0/en/import-table.html注意: HR schema 要存在,不存在需要先创建。mysql> CREATE SCHEMA hr;在文件系统级别,将.sdi 文件复制到导入服务器 secure_file_priv 目录/tmp/mysql-files。同时,将表内容文件复制到 hr schema 目录:$> cd /tmp/export$> cp employees_125.sdi /tmp/mysql-files$> cp managers_238.sdi /tmp/mysql-files$> cp employees.{MYD,MYI} import_basedir/data/hr$> cp managers.{MYD,MYI} import_basedir/data/hr通过 Import TABLE 语句导入表,该语句命名.sdi 文件:mysql> IMPORT TABLE FROM'/tmp/mysql-files/employees.sdi','/tmp/mysql-files/managers.sdi';
51、 Choose two.Your MySQL installation is running low on space due to binary logs. You need to reduce your logspace usage urgently.Which two sets of actions when completed will accomplish this?A) Use SET PERSIST binlog_expire_logs_seconds=<value>.B) Use SET GLOBAL binlog_expire_logs_seconds=<value> 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=<value> and run the FLUSH BINARY LOGScommand.F) Set binlog_expire_logs_seconds = 0 in my.cnf and restart the server.

答案 CE https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html

binlog_expire_logs_seconds:默认 2592000 秒,最大 4294967295 秒, 以秒为单位设置二进制日志过期时间。过期后二进制日志文件会被自动删除。可能的删除发生在启动时和二进制日志刷新时。 日志刷新按照第 5.4 节 "MySQL 服务器日志 "中的说明进行。

默认二进制日志过期时间为 2592000 秒,相当于 30 天(30*24*60*60 秒)。如果

binlog_expire_logs_seconds 或已废弃的系统变量 expire_logs_days 在启动时均未设置值,则默认值适用。如果 binlog_expire_logs_seconds 或 expire_logs_days 变量之一在启动时设置了非零值,则该值将用作二进制日志过期时间。 如果在启动时对这两个变量都设置了非零值,则binlog_expire_logs_seconds 的值将被用作二进制日志过期期限,而 expire_logs_days 的值将被忽略并发出警告信息。

在运行时,如果 binlog_expire_logs_seconds 或 expire_logs_days 的值当前为非零,则不能将其设置为非零值。因为 binlog_expire_logs_seconds 的默认值为非零,所以必须明确地将 binlog_expire_logs_seconds 设置为零,然后才能设置或更改 expire_logs_days 的值。

从 MySQL 8.0.29 开始,可通过将 binlog_expire_logs_auto_purge 系统变量设置为 OFF 来禁用二进制日志的自动清除。这优先于 binlog_expire_logs_seconds 的任何设置。在 MySQL 8.0.28 及更早版本中,要禁用二进制日志的自动清除,请明确指定

binlog_expire_logs_seconds 的值为 0,并且不要指定 expire_logs_days 的值。为了与早期版本兼容,如果为 expire_logs_days 明确指定 0 值,而不为 binlog_expire_logs_seconds 指定值,也会禁用自动清除功能。在这种情况下, binlog_expire_logs_seconds 的默认值不会被应用。要手动删除二进制日志文件,请使用 PURGE BINARY LOGS 语句。请参见第 13.4.1.1 节 "PURGE BINARY LOGS 语句"。

https://dev.mysql.com/doc/refman/8.0/en/purge-binary-logs.html

https://dev.mysql.com/doc/refman/8.0/en/flush.html#flush-binary-logs 

FLUSH BINARY LOGS:Closes and reopens any binary log file to which the server is writing. If binary logging is enabled, the sequence number

of the binary log file is incremented by one relative to the previous file. 关闭并重新打开服务器正在写入的二进制日志文件。如果启用了二进制日志记录,二进制日志文件的序列号将相对于前一个文件递增一个。 相当于 Oracle 的切归档命令 alter system switch logfile;

答案 BE https://dev.mysql.com/doc/refman/8.0/en/mysqlpump.html#mysqlpump-restrictionsmysqlpump does not dump the performance_schema, ndbinfo, or sys schema by default.mysqlpump does not dump the INFORMATION_SCHEMA schema.

英文考试题不是很多,加解析和参考也有一百多页要是全部贴到这里也是费事,格式看起来还很难看,费时费力不讨好,就先看到这里吧。如有问题和需求欢迎一起交流讨论。另外上周五我们也新开了几个 MySQL OCP 考试互助群,由于异常火爆,没法自动加入了,感兴趣的可以添加我个人微信,拉你进群一起交流。

图片

最后说一下这篇文章要是阅读量还可以,伙伴们还有这方面的需求,可以多多点 赞、转  发支持一下,有时间也可以视频号再次分享一下考试备考经验、注意事项、查看证书等事项。周一已经分享过一次了,欢迎关注我的视频号一起来看看。

图片

最后推荐一下会长成立了的知识星球《DB 信息差》,目前已经成员 160+, 现价 199元一年,200 人之后涨价到 399元~限时优惠券减免 50 即 149 元一年,还是很火爆的!这里是 DB 人的专属天地,致力于为你消除行业信息差。

在星球中,收费和免费信息一应俱全,精准把握 DBA 考证趋势,提供详细备考攻略,助你轻松拿证,为职业发展添砖加瓦。知识干货定时输出,前沿技术、实践经验倾囊相授,让你随时随地汲取 DBA 营养,提升专业硬实力。工作推荐更是精准匹配,根据你的技能与需求,推送优质 DBA 岗位,助力你实现职场跃迁。同时,定期更新 DBA 行业动态新闻,让你时刻紧跟行业脉搏,敏锐洞察市场变化。无论你是初入 DBA 行业的新人,还是渴望进阶的资深从业者,这里都能满足你的需求,让你凭借信息优势,在 DBA 领域脱颖而出,迈向职业巅峰。

欢迎关注我的公众号【JiekeXu DBA之路】,一起学习新知识!
——————————————————————————
公众号:JiekeXu DBA之路
墨天轮:https://www.modb.pro/u/4347
CSDN :https://blog.csdn.net/JiekeXu
ITPUB:https://blog.itpub.net/69968215
腾讯云:https://cloud.tencent.co/developer/user/5645107
——————————————————————————

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论