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

题目029

Choose two.

Which two are true about binary logs used in asynchronous replication?

□ A) They contain events that describe all queries run on the master.
□ B) They contain events that describe database changes on the master.
□ C) They are pushed from the master to the slave.
□ D) They contain events that describe only administrative commands run on the master.
□ E) They are pulled from the master to the slave.

翻译

选择两项。

关于异步复制中使用的二进制日志,以下哪两项是正确的?

□ A) 它们包含描述主库上运行的所有查询的事件。
□ B) 它们包含描述主库上数据库更改的事件。
□ C) 它们从主库推送到从库。
□ D) 它们只包含描述主库上运行的管理命令的事件。
□ E) 它们从主库被拉取到从库。

解析和答案

  • 选项A:二进制日志并不记录主库上运行的所有查询,而是记录对数据库有更改作用的事件 ,A错误。
  • 选项B:二进制日志记录主库上数据库的更改事件,比如数据的增删改操作等,B正确。
  • 选项C:在异步复制中,二进制日志不是由主库推送到从库,C错误。
  • 选项D:二进制日志记录的不只是管理命令,还包括其他能引起数据库变化的操作 ,D错误。
  • 选项E:在异步复制中,从库会主动从主库拉取二进制日志,E正确。

所以答案是B、E。

知识点总结

  • MySQL二进制日志:理解MySQL二进制日志在异步复制中的作用,掌握其记录的事件类型(主要是数据库更改事件)以及主从库之间关于二进制日志的交互方式(从库拉取)。
  • 异步复制原理:深入了解异步复制的原理和机制,明确二进制日志在其中对于保证主从库数据一致性等方面的重要性。

题目030

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/lib/mysql/shop/

Which two actions are required to complete the restore?

□ A) shell> cp /backup/customers.sdi /var/tmp
□ B) mysql> SOURCE ‘/var/tmp/customers.sdi’
□ C) shell> cp /backup/customers.sdi /var/lib/mysql/shop/
□ D) mysql> ALTER TABLE shop.customers DISCARD TABLESPACE
□ E) shell> cp /backup/customers.frm /var/lib/mysql/shop/
□ F) mysql> IMPORT TABLE FROM /var/lib/mysql/shop/customers.sdi
□ G) mysql> IMPORT TABLE FROM /var/tmp/customers.sdi
□ H) mysql> ALTER TABLE shop.customers IMPORT TABLESPACE

翻译

选择两项。

已对shop.customers MyISAM表进行了有效的原始备份。

你必须恢复该表。

你先执行以下步骤:

  1. 确认secure_file_priv=‘/var/tmp’
  2. mysql> DROP TABLE shop.customers;
  3. shell> cp /backup/customers.MY* /var/lib/mysql/shop/

完成恢复还需要哪两个操作?

□ A) shell> cp /backup/customers.sdi /var/tmp
□ B) mysql> SOURCE ‘/var/tmp/customers.sdi’
□ C) shell> cp /backup/customers.sdi /var/lib/mysql/shop/
□ D) mysql> ALTER TABLE shop.customers DISCARD TABLESPACE
□ E) shell> cp /backup/customers.frm /var/lib/mysql/shop/
□ F) mysql> IMPORT TABLE FROM /var/lib/mysql/shop/customers.sdi
□ G) mysql> IMPORT TABLE FROM /var/tmp/customers.sdi
□ H) mysql> ALTER TABLE shop.customers IMPORT TABLESPACE

解析和答案

  • 选项A:由于 secure_file_priv='/var/tmp' ,需要将 customers.sdi 文件复制到 /var/tmp 目录,以便后续导入操作,A正确。
  • 选项BSOURCE 命令一般用于执行SQL脚本,而不是导入表结构文件,B错误。
  • 选项C:不应该复制到 /var/lib/mysql/shop/ 目录,而是要遵循 secure_file_priv 设置复制到 /var/tmp ,C错误。
  • 选项DDISCARD TABLESPACE 用于丢弃表空间,不是恢复MyISAM表的必要操作,D错误。
  • 选项E:题目中未提及 customers.frm 文件相关备份情况,且不是当前恢复操作的关键步骤,E错误。
  • 选项F:路径应基于 secure_file_priv 设置为 /var/tmp ,而不是 /var/lib/mysql/shop/ ,F错误。
  • 选项G:将文件复制到 /var/tmp 后,使用 IMPORT TABLE FROM /var/tmp/customers.sdi 可以导入表结构,完成恢复的关键步骤,G正确。
  • 选项HIMPORT TABLESPACE 是针对InnoDB表空间导入的操作,本题是MyISAM表,不适用,H错误。

所以答案是A、G。

知识点总结

  • MyISAM表恢复:掌握MyISAM表的恢复流程和方法,包括备份文件的处理、文件路径设置(受 secure_file_priv 影响)以及相关导入命令的使用。
  • MySQL文件操作:了解MySQL不同存储引擎(如MyISAM、InnoDB)相关文件的作用和操作方式,避免混淆不同存储引擎恢复时的操作步骤。

题目031

Choose three.

A user wants to connect without entering his or her username and password on the Linux command prompt.

Which three locations can be used to store the user’s mysql credentials to satisfy this requirement?

□ A) $HOME/.mysqlrc file
□ B) /etc/my.cnf file
□ C) DATADIR/mysqld-auto.cnf file
□ D) $HOME/.my.cnf file
□ E) $HOME/.mylogin.cnf file
□ F) $MYSQL_HOME/my.cnf file
□ G) $HOME/.mysql/auth/login file

翻译

选择三项。

用户希望在Linux命令行提示符下连接MySQL时不输入用户名和密码。

哪三个位置可用于存储用户的MySQL凭据以满足此要求?

□ A) $HOME/.mysqlrc文件
□ B) /etc/my.cnf文件
□ C) DATADIR/mysqld-auto.cnf文件
□ D) $HOME/.my.cnf文件
□ E) $HOME/.mylogin.cnf文件
□ F) $MYSQL_HOME/my.cnf文件
□ G) $HOME/.mysql/auth/login文件

解析和答案

  • 选项A$HOME/.mysqlrc 不是MySQL用于存储凭据的标准文件 ,A错误。
  • 选项B/etc/my.cnf 是MySQL的全局配置文件,可以在其中配置登录凭据,B正确。
  • 选项CDATADIR/mysqld-auto.cnf 主要用于存储自动生成的配置信息,不是存储用户登录凭据的地方 ,C错误。
  • 选项D$HOME/.my.cnf 是用户主目录下的MySQL配置文件,可用于存储用户特定的登录凭据 ,D正确。
  • 选项E$HOME/.mylogin.cnf 是MySQL专门用于存储登录凭据的加密文件,E正确。
  • 选项F$MYSQL_HOME/my.cnf 不是标准用于存储用户登录凭据的文件位置 ,F错误。
  • 选项G$HOME/.mysql/auth/login 不是MySQL存储凭据的标准文件 ,G错误。

所以答案是B、D、E。

知识点总结

  • MySQL凭据存储:了解MySQL在Linux系统下可用于存储用户登录凭据的文件和位置,掌握不同配置文件(如 /etc/my.cnf$HOME/.my.cnf$HOME/.mylogin.cnf )的特点和用途,以及如何合理配置以实现免输入凭据连接。
  • 数据库安全与配置:理解在存储凭据时的安全考量,如 $HOME/.mylogin.cnf 的加密特性,以及不同配置文件的权限管理等,保障数据库连接的安全性和便捷性。

题目032

Choose two.

Which two queries are examples of successful SQL injection attacks?

□ A) SELECT user,passwd FROM members WHERE user = ‘?’;INSERT INTO members(‘user’,‘passwd’) VALUES (‘[email protected]’,‘secret’);–';
□ B) SELECT user, phone FROM customers WHERE name = ‘; DROP TABLE users; --’;
□ C) SELECT id, name FROM user WHERE user.id=(SELECT members.id FROM members);
□ D) SELECT id, name FROM user WHERE id=23 OR id=32 OR 1=1;
□ E) SELECT id, name FROM user WHERE id=23 OR id=32 AND 1=1;
□ F) SELECT email,passwd FROM members WHERE email = ‘INSERT INTO members(‘email’,‘passwd’) VALUES (‘[email protected]’,‘secret’);–’;

翻译

选择两项。

哪两个查询是成功的SQL注入攻击示例?

□ A) SELECT user,passwd FROM members WHERE user = ‘?’;INSERT INTO members(‘user’,‘passwd’) VALUES (‘[email protected]’,‘secret’);–';
□ B) SELECT user, phone FROM customers WHERE name = ‘; DROP TABLE users; --’;
□ C) SELECT id, name FROM user WHERE user.id=(SELECT members.id FROM members);
□ D) SELECT id, name FROM user WHERE id=23 OR id=32 OR 1=1;
□ E) SELECT id, name FROM user WHERE id=23 OR id=32 AND 1=1;
□ F) SELECT email,passwd FROM members WHERE email = ‘INSERT INTO members(‘email’,‘passwd’) VALUES (‘[email protected]’,‘secret’);–’;

解析和答案

  • 选项A:在 WHERE 子句后拼接了 ;INSERT INTO members('user','passwd') VALUES ('[email protected]','secret');--' ,分号可用于分隔SQL语句,-- 是注释符,此操作可在查询的同时插入新数据,属于SQL注入攻击 ,A正确。
  • 选项B:在 WHERE name = '\; DROP TABLE users; --' 中,通过单引号逃逸并利用分号执行了 DROP TABLE users 语句,可删除 users 表,是SQL注入攻击 ,B正确。
  • 选项C:这是一个正常的子查询语句,不存在SQL注入攻击 ,C错误。
  • 选项D:虽然条件 id=23 OR id=32 OR 1=1 会使查询结果包含所有记录,但这只是利用逻辑表达式扩大查询范围,不是通过注入恶意SQL语句实现的攻击 ,D错误。
  • 选项E:同样是利用逻辑表达式构建查询条件,不存在SQL注入攻击 ,E错误。
  • 选项F:虽然构造了类似插入语句的内容,但在 WHERE 条件中这样的写法不符合SQL注入攻击逻辑,不会执行插入操作 ,F错误。

所以答案是A、B。

知识点总结

  • SQL注入攻击:了解SQL注入攻击的原理和常见形式,能够识别恶意SQL语句的拼接、逃逸字符(如单引号)的利用以及分号等用于分隔语句的符号的不当使用等攻击手段。
  • 数据库安全防范:掌握防范SQL注入攻击的方法,如使用参数化查询、对用户输入进行严格校验和过滤等,提高数据库的安全性。

你可能感兴趣的:(MySQL 8.0 OCP 1Z0-908 题目解析(8))