題目125
Choose three.
Identify three functions of MySQL Enterprise Monitor.
□ A) Analyze query performance.
□ B) Start a logical backup.
□ C) Determine the availability of monitored MySQL servers.
□ D) Centrally manage users.
□ E) Start a MySQL Enterprise backup.
□ F) Centrally manage server configurations.
□ G) Start and stop MySQL Server.
□ H) Create customized alerts and provide notification alerts.
翻譯
選擇三個答案。
確定 MySQL 企業監視器的三個功能。
□ A) 分析查詢性能。
□ B) 啟動邏輯備份。
□ C) 確定受監控的 MySQL 服務器的可用性。
□ D) 集中管理用戶。
□ E) 啟動 MySQL 企業備份。
□ F) 集中管理服務器配置。
□ G) 啟動和停止 MySQL 服務器。
□ H) 創建自定義警報并提供通知警報。
解析和答案
- 選項A:MySQL Enterprise Monitor 可以對查詢性能進行分析,幫助優化數據庫性能,A正確。
- 選項B:啟動邏輯備份不是 MySQL Enterprise Monitor 的功能,B錯誤。
- 選項C:它能夠監控 MySQL 服務器的可用性,C正確。
- 選項D:集中管理用戶不屬于其功能范疇,D錯誤。
- 選項E:啟動 MySQL 企業備份不是該監視器的功能,E錯誤。
- 選項F:集中管理服務器配置不是其主要功能,F錯誤。
- 選項G:啟動和停止 MySQL 服務器不是 MySQL Enterprise Monitor 的功能,G錯誤。
- 選項H:可以創建自定義警報并提供通知警報,用于及時發現和處理問題,H正確。
所以答案是ACH。
知識點總結
- MySQL Enterprise Monitor功能:了解 MySQL 企業監視器的主要功能,包括查詢性能分析、服務器可用性監控、警報創建與通知等。
- 數據庫監控工具作用:清楚這類監控工具在數據庫管理中的作用,能夠輔助管理員及時發現問題、優化性能和保障數據庫的穩定運行。
- 功能范疇區分:能夠區分 MySQL Enterprise Monitor 與其他數據庫管理工具(如用于備份、用戶管理、服務器啟停等工具 )的功能差異,明確其專注于監控和性能分析等方面。
題目126
Choose the best answer.
Binary log events for the ‘mydb1’ schema must be copied to a different schema name ‘mydb2’.
Which command will do this?
○ A) mysqlbinlog --read-from-remote-server --raw | sed ‘s/mydb1/mydb2/g’ | mysql
○ B) mysqlbinlog --rewrite-db=‘mydb1->mydb2’ | mysql
○ C) mysqlbinlog --database=mydb1 --database=mydb2 | mysql
○ D) mysqlbinlog --rewrite-db=‘mydb1’ --rewrite-db=‘mydb2’ | mysql
翻譯
選擇最佳答案。
必須將 ‘mydb1’ 模式的二進制日志事件復制到不同的模式名稱 ‘mydb2’。
哪個命令可以做到這一點?
○ A) mysqlbinlog --read-from-remote-server --raw | sed ‘s/mydb1/mydb2/g’ | mysql
○ B) mysqlbinlog --rewrite-db=‘mydb1->mydb2’ | mysql
○ C) mysqlbinlog --database=mydb1 --database=mydb2 | mysql
○ D) mysqlbinlog --rewrite-db=‘mydb1’ --rewrite-db=‘mydb2’ | mysql
解析和答案
- 選項A:使用
sed
命令進行替換不夠可靠,可能會替換到二進制日志中其他無關的內容,且--read-from-remote-server --raw
選項也不符合本題從本地二進制日志處理的需求,A錯誤。 - 選項B:
mysqlbinlog
的--rewrite-db='mydb1->mydb2'
選項可以將二進制日志中針對mydb1
模式的事件重寫到mydb2
模式,符合需求,B正確。 - 選項C:
--database=mydb1 --database=mydb2
是指定要處理的數據庫,不是進行重寫操作,C錯誤。 - 選項D:
--rewrite-db
選項的格式不正確,不能這樣同時指定兩個數據庫進行重寫,D錯誤。
所以答案是B。
知識點總結
- mysqlbinlog 工具重寫功能:掌握
mysqlbinlog
工具的--rewrite-db
選項,該選項用于在處理二進制日志時,將指定的源數據庫(如mydb1
)的事件重寫到目標數據庫(如mydb2
),語法為--rewrite-db='source_db->target_db'
。 - 二進制日志事件處理:了解如何使用
mysqlbinlog
工具對二進制日志事件進行處理,包括重寫數據庫名稱等操作,以滿足不同的恢復或復制需求。 - 命令選項正確性:清楚
mysqlbinlog
工具各個選項的正確用法和格式,避免使用錯誤的選項組合或格式導致命令執行失敗或不符合預期。
題目127
Choose two.
Examine this statement, which executes successfully:
CREATE TABLE employees (
emp_no int unsigned NOT NULL,
birth_date date NOT NULL,
first_name varchar(14) NOT NULL,
last_name varchar(16) NOT NULL,
hire_date date NOT NULL,
PRIMARY KEY (emp_no)
) ENGINE=InnoDB;
Now examine this query:
SELECT emp_no, first_name, last_name, birth_date
FROM employees
WHERE MONTH(birth_date)=4;
You must add an index that can reduce the number of rows processed by the query.
Which two statements can do this?
□ A) ALTER TABLE employees
ADD INDEX ((CAST(birth_date >>‘$.month’ AS unsigned)));
□ B) ALTER TABLE employees
ADD INDEX (birth_date DESC);
□ C) ALTER TABLE employees
ADD COLUMN birth_month tinyint unsigned GENERATED ALWAYS AS (MONTH (birth_date))
VIRTUAL NOT NULL,
ADD INDEX (birth_month);
□ D) ALTER TABLE employees
ADD INDEX (birth_date);
□ E) ALTER TABLE employees
ADD COLUMN birth_month tinyint unsigned GENERATED ALWAYS AS (birth_date->>‘$.month’)
VIRTUAL NOT NULL,
ADD INDEX (birth_month);
□ F) ALTER TABLE employees
ADD INDEX ((MONTH (birth_date)));
翻譯
選擇兩個答案。
查看成功執行的語句:
CREATE TABLE employees (
emp_no int unsigned NOT NULL,
birth_date date NOT NULL,
first_name varchar(14) NOT NULL,
last_name varchar(16) NOT NULL,
hire_date date NOT NULL,
PRIMARY KEY (emp_no)
) ENGINE=InnoDB;
現在查看此查詢:
SELECT emp_no, first_name, last_name, birth_date
FROM employees
WHERE MONTH(birth_date)=4;
您必須添加一個索引,以減少查詢處理的行數。
哪兩個語句可以做到這一點?
□ A) ALTER TABLE employees
ADD INDEX ((CAST(birth_date >>‘$.month’ AS unsigned)));
□ B) ALTER TABLE employees
ADD INDEX (birth_date DESC);
□ C) ALTER TABLE employees
ADD COLUMN birth_month tinyint unsigned GENERATED ALWAYS AS (MONTH (birth_date))
VIRTUAL NOT NULL,
ADD INDEX (birth_month);
□ D) ALTER TABLE employees
ADD INDEX (birth_date);
□ E) ALTER TABLE employees
ADD COLUMN birth_month tinyint unsigned GENERATED ALWAYS AS (birth_date->>‘$.month’)
VIRTUAL NOT NULL,
ADD INDEX (birth_month);
□ F) ALTER TABLE employees
ADD INDEX ((MONTH (birth_date)));
解析和答案
- 選項A:
birth_date
是date
類型,并非 JSON 類型,birth_date >>'$.month'
這種針對 JSON 的操作語法在這里不適用,無法正確提取月份信息來創建有效索引,A錯誤。 - 選項B:對
birth_date
字段創建降序索引,但是查詢條件是基于MONTH(birth_date)
,普通的birth_date
索引無法直接用于該函數運算后的條件篩選,不能有效減少查詢處理的行數,B錯誤。 - 選項C:先添加一個虛擬生成列
birth_month
,其值由MONTH(birth_date)
生成,然后為該生成列創建索引。這樣在查詢時,WHERE MONTH(birth_date) = 4
就可以利用birth_month
索引來快速定位數據,減少掃描的行數,C正確。 - 選項D:對
birth_date
字段創建普通索引,同樣無法直接用于MONTH(birth_date)
的查詢條件,不能有效優化查詢,D錯誤。 - 選項E:同選項A,
birth_date->>'$.month'
是針對 JSON 數據的操作,不適用于date
類型的birth_date
字段,無法正確生成birth_month
列,E錯誤。 - 選項F:創建一個基于
MONTH(birth_date)
的函數索引(也叫表達式索引 ),這種索引可以直接用于WHERE MONTH(birth_date) = 4
的查詢條件,能夠有效減少查詢處理的行數,F正確。
所以答案是CF。
知識點總結
- MySQL索引優化:當查詢條件中包含函數運算(如
MONTH()
函數 )時,普通索引可能無法有效利用,此時可以考慮使用生成列(虛擬列 )加索引或者函數索引來優化查詢性能。 - 生成列(Virtual Generated Column):生成列的值由表達式生成,在本題中通過
MONTH(birth_date)
生成birth_month
虛擬列,然后為該列創建索引,使得查詢可以利用索引快速篩選數據。 - 函數索引(Expression Index):直接對函數表達式(如
MONTH(birth_date)
)創建索引,MySQL 可以在查詢時利用該索引來加速基于函數運算結果的條件篩選。 - JSON操作與日期操作區分:要注意
->>
等操作符主要用于 JSON 數據類型,對于date
等常規數據類型,需要使用合適的日期函數(如MONTH()
)來進行操作,避免語法錯誤。
題目128
Choose the best answer.
Examine this command, which executes successfully:
$ mysqlbackup --user=dba --password --port=3306 --with-timestamp --only-known-file-types --backup-dir=/export/backups backup
Which statement is true?
○ A) Only tables stored in their own tablespaces are backed up.
○ B) Only InnoDB data and log files are backed up.
○ C) Only non-encrypted files are backed up.
○ D) Only files for MySQL or its built-in storage engines are backed up.
○ E) The backup includes only data files and their metadata.
翻譯
選擇最佳答案。
查看成功執行的命令:
$ mysqlbackup --user=dba --password --port=3306 --with-timestamp --only-known-file-types --backup-dir=/export/backups backup
哪個陳述是正確的?
○ A) 僅備份存儲在自己表空間中的表。
○ B) 僅備份 InnoDB 數據和日志文件。
○ C) 僅備份非加密文件。
○ D) 僅備份 MySQL 或其內置存儲引擎的文件。
○ E) 備份僅包含數據文件及其元數據。
解析和答案
- 選項A:
--only-known-file-types
選項不是僅針對自己表空間的表,A錯誤。 - 選項B:該命令會備份 MySQL 相關的多種文件,不只是 InnoDB 數據和日志文件,B錯誤。
- 選項C:命令中沒有與加密相關的選項,不能得出僅備份非加密文件的結論,C錯誤。
- 選項D:
--only-known-file-types
選項表示僅備份 MySQL 或其內置存儲引擎識別的文件類型,D正確。 - 選項E:備份內容不僅包括數據文件及其元數據,還可能包括其他相關文件,E錯誤。
所以答案是D。
知識點總結
- mysqlbackup 工具選項:了解
mysqlbackup
工具的--only-known-file-types
選項的作用,該選項用于指定僅備份 MySQL 或其內置存儲引擎能夠識別的文件類型,避免備份無關的文件。 - 備份內容范圍:清楚使用
mysqlbackup
進行備份時,默認情況下會備份與 MySQL 及其內置存儲引擎相關的多種文件,包括但不限于數據文件、日志文件等,而不是僅局限于某一種存儲引擎(如 InnoDB )的文件。 - 選項與備份內容關系:能夠根據
mysqlbackup
命令中的選項,分析備份的內容范圍,如本題中通過--only-known-file-types
選項可以推斷出備份的是 MySQL 或其內置存儲引擎的文件。 - 加密與備份關系:知道命令中沒有涉及加密相關的選項時,不能直接得出備份僅包含非加密文件的結論,因為加密狀態需要專門的參數來控制或識別。
- 數據文件與元數據:明白備份的內容不僅僅是數據文件及其元數據,還可能包括其他與數據庫運行相關的文件,如日志文件等。