文章标题:
MySQL 8.0 OCP英文题库深度剖析(其一)
文章内容:
试题1:
选择两个选项。你的MySQL服务器由早期主要版本升级而来。sales数据库包含三个表,其中之一是transactions表,该表有400万行。你的datadir分区磁盘空间不足,开始进行排查。查看以下命令和输出:哪两个陈述是正确的?
C)执行SET GLOBAL innodb_row_format=COMPRESSED
后再执行ALTER TABLE transactions
会释放磁盘空间。[错误]
B)截断sales和leads表会释放磁盘空间。[正确]
A)transactions表是在innodb_file_per_table=OFF
的情况下创建的。[正确]
D)执行ALTER TABLE transactions
能释放磁盘空间。[错误]
E)截断transactions表会释放最多的磁盘空间。[错误]
解析
此题情境为:MySQL服务器从早期主版本升级,sales数据库有三个表,其中transactions表有400万行,datadir分区空间不足需处理。
- 选项C:执行
SET GLOBAL innodb_row_format=COMPRESSED
后ALTER TABLE transactions来释放空间,因transactions表未独立(由ls -l sales结果可知),其在系统表空间中,ALTER操作不会向操作系统释放空间,故错误。 - 选项D:执行ALTER TABLE transactions释放空间,系统表空间中的表,ALTER操作无法向操作系统释放空间,故错误。
- 选项E:截断transactions表释放的空间仍在系统表空间内,不会返还给操作系统,故错误。
- 选项A:从ls -l sales结果看,若设置独立表空间应能看到三个表,但此处只看到两个,transactions不在其中,说明该表创建时未设置独立表空间,故正确。
- 选项B:截断有独立表空间的表能释放表空间,故正确。
试题2:
[‘title’, ‘EXPLAIN’]
B)结果中包含city表的35行。[错误]
E)查询恰好返回125行。[正确]
C)优化器估计country表中有51行的Continent为’Asia’。[错误]
D)对行进行排序花费超过8毫秒。[错误]
A)country表作为第一个表被访问,然后与city表连接。[正确]
解析
这是关于执行计划的题目。
- 选项B:结果中包含city表35行是错误的,从倒数第二行的filter可知,过滤后仅2行。
- 选项E:从最上面一行的最终运行结果,rows=125,故该选项正确。
- 选项C:优化器估计country表中有51行Continent为’Asia’错误,倒数第4行显示预估为34行,实际返回51行。
- 选项D:第一行显示总花费时间是8秒多,并非排序花费8毫秒,故错误。
- 选项A:country表作为第一个表被访问,然后与city表连接,符合执行计划原理,故正确。
试题3:
选择四项。新部署的复制主数据库读写比为10/90。完整数据集当前28G,波动不超±10%。数据库存储系统由两个本地连接的PCI-E企业级磁盘组成(挂载为/data1和/data2),服务器专用于该MySQL实例,系统内存64G。my.cnf内容为:mysqlddatadir=/data1/ innodb_buffer_pool_size=28G innodb_log_file_size=150M
。哪四项变化在不牺牲数据完整性的情况下能提供最大性能提升?
B)innodb_log_group_home_dir=/data2/
[正确]
H)innodb_buffer_pool_size=32G
[正确]
A)innodb-doublewrite=off
[错误]
F)innodb_flush_log_at_trx_commit=0
[错误]
D)innodb_undo_directory=/dev/shm
[错误]
C)innodb_log_file_size=1G
[正确]
G)sync_binlog=0
[错误]
E)log-bin=/data2/
[正确]
I)disable-log-bin
[错误]
解析
题目情境:新部署复制主库,读写比10/90,数据集28G±10%,双磁盘存储,内存64G。
- 选项B:
innodb_log_group_home_dir=/data2/
,将InnoDB重做日志文件放/data2,与/data1的数据文件实现I/O分离,减少磁盘争用,提升写入性能,不影响数据完整性。 - 选项H:
innodb_buffer_pool_size=32G
,当前设置28G,服务器有64G内存,数据集28G±10%,增大缓冲池可缓存更多数据,减少磁盘I/O,适合读少写多场景。 - 选项C:
innodb_log_file_size=1G
,当前150M日志文件对28G数据集太小,增大日志文件可减少检查点频率,降低I/O压力,提升写入性能。 - 选项E:
log-bin=/data2/
,将二进制日志放/data2,与数据文件、重做日志分离,减少主库I/O争用,提升复制性能,不影响数据安全。 - 选项A:
innodb-doublewrite=off
,关闭双写缓冲会危及数据完整性,可能导致页面部分写入,错误。 - 选项F:
innodb_flush_log_at_trx_commit=0
,设为0可能在崩溃时丢失最多1秒事务数据,错误。 - 选项D:
innodb_undo_directory=/dev/shm
,将undo日志放内存文件系统,服务器重启会丢失数据,错误。 - 选项G:
sync_binlog=0
,可能导致二进制日志不同步,主从数据不一致,错误。 - 选项I:
disable-log-bin
,禁用二进制日志会破坏复制功能,错误。
最佳四项优化为:将重做日志移至第二块磁盘、适当将缓冲池增大至32G、将InnoDB日志文件增大至1G、将二进制日志放第二块磁盘。
试题4:
哪两项操作能保护MySQL服务器免受基于网络的攻击?
D)将监听端口改为3307。[错误]
E)仅允许来自应用程序服务器的连接。[正确]
A)使用MySQL Router代理到MySQL服务器的连接。[错误]
B)将MySQL实例置于防火墙之后。[正确]
C)使用网络文件系统(NFS)存储数据。[错误]
解析
- 选项D:改监听端口属“通过隐蔽实现安全”,专业攻击者仍可通过端口扫描发现服务,错误。
- 选项E:仅允许来自应用程序服务器的连接,正确。
- 选项A:MySQL Router虽能负载均衡和故障转移,但不增强安全性,错误。
- 选项B:将MySQL实例置于防火墙之后,正确。
- 选项C:使用NFS存储数据会引入新安全风险,如未加密网络传输可能被窃听,错误。
试题5:
选择四项。需存储连接参数,将基于Linux的MySQL客户端连接到侦听端口3309的基于Windows的远程MySQL服务器。可使用哪四种方法配置用户、主机和数据库参数?
D)执行mysqladmin命令配置用户连接。[错误]
C)配置~/.my.cnf。[正确]
H)使用usermod程序存储静态用户信息。[错误]
G)定义UNIX socket。[错误]
E)在bash脚本中执行命令。[正确]
B)使用MySQL提供的安全凭证存储工具mysql_config_editor配置用户连接。[正确]
A)将登录信息嵌入SSH隧道定义。[错误]
I)配置~/.ssh/config用于公钥认证。[错误]
F)配置环境变量。[正确]
解析
- 选项C:配置~/.my.cnf,正确。
- 选项E:在bash脚本中执行命令,正确。
- 选项B:使用mysql_config_editor配置用户连接,正确。
- 选项F:配置环境变量,正确。
- 选项D:mysqladmin用于服务器管理,无法存储连接配置,错误。
- 选项H:usermod用于系统用户管理,与MySQL无关,错误。
- 选项G:UNIX socket仅适用于本地连接,不适用于远程Windows服务器,错误。
- 选项A:SSH隧道配置不包含MySQL连接参数,错误。
- 选项I:SSH配置与MySQL客户端连接参数无关,错误。
未完,后续题库将陆续发布,敬请关注。
文章整理自互联网,只做测试使用。发布者:Lomu,转转请注明出处:https://www.it1024doc.com/12627.html