題目69
Choose three.
A MySQL server is monitored using MySQL Enterprise Monitor’s agentless installation.
Which three features are available with this installation method?
□ A) MySQL Replication monitoring
□ B) security-related advisor warnings
□ C) CPU utilization
□ D) disk usage and disk characteristics including disk advisors warnings
□ E) MySQL Query Analysis data
□ F) operating system memory utilization
□ G) network-related information and network characteristics
翻譯
選擇三項。
使用 MySQL Enterprise Monitor 的無代理安裝方式監控 MySQL 服務器。
這種安裝方式提供以下哪三項功能?
□ A) MySQL 復制監控
□ B) 安全相關的顧問警告
□ C) CPU 利用率
□ D) 磁盤使用情況和磁盤特征(包括磁盤顧問警告 )
□ E) MySQL 查詢分析數據
□ F) 操作系統內存利用率
□ G) 網絡相關信息和網絡特征
解析和答案
- 選項A:MySQL Enterprise Monitor 的無代理安裝支持 MySQL 復制監控,可監控主從復制狀態等,A正確。
- 選項B:能提供安全相關的顧問警告,輔助發現數據庫安全隱患,B正確。
- 選項C:無代理安裝方式通常無法直接獲取 CPU 利用率(需依賴操作系統工具或其他代理 ),C錯誤。
- 選項D:無代理安裝一般不能獲取詳細的磁盤使用和特征(尤其是涉及磁盤顧問警告 ),D錯誤。
- 選項E:支持 MySQL 查詢分析數據的獲取,幫助分析查詢性能,E正確。
- 選項F:無代理安裝難以直接獲取操作系統內存利用率,F錯誤。
- 選項G:無代理安裝基本無法獲取網絡相關信息和特征,G錯誤。
所以答案是A、B、E。
知識點總結
- MySQL Enterprise Monitor 無代理安裝:了解 MySQL Enterprise Monitor 無代理安裝方式的功能范圍,它主要聚焦于 MySQL 數據庫本身的相關監控,如復制狀態、安全顧問、查詢分析等。明確無代理安裝在獲取操作系統層面(如 CPU、內存、磁盤、網絡 )信息時的局限性,根據實際監控需求選擇合適的安裝方式(代理或無代理 ),保障對 MySQL 服務器的全面有效監控。
- 數據庫監控工具功能:掌握數據庫監控工具的核心功能,區分針對數據庫本身和操作系統層面的監控能力。在使用 MySQL Enterprise Monitor 時,利用其無代理安裝對數據庫復制、安全、查詢分析的支持,同時知曉其在操作系統監控方面的不足,必要時結合其他工具補充監控,構建完整的數據庫及系統監控體系。
題目70
Choose two.
Examine this MySQL client command to connect to a remote database:
mysql -h remote.example.org -u root -p --protocol=TCP --ssl-mode=
Which two --ssl-mode
values will ensure that an X.509-compliant certificate will be used to establish the SSL/TLS connection to MySQL?
□ A) DISABLED
□ B) REQUIRED
□ C) VERIFY_IDENTITY
□ D) PREFERRED
□ E) VERIFY_CA
翻譯
選擇兩項。
查看用于連接遠程數據庫的 MySQL 客戶端命令:
mysql -h remote.example.org -u root -p --protocol=TCP --ssl-mode=
哪兩個 --ssl-mode
值可確保使用符合 X.509 標準的證書建立與 MySQL 的 SSL/TLS 連接?
□ A) DISABLED
□ B) REQUIRED
□ C) VERIFY_IDENTITY
□ D) PREFERRED
□ E) VERIFY_CA
解析和答案
- 選項A:
DISABLED
表示禁用 SSL/TLS,不會使用證書,A錯誤。 - 選項B:
REQUIRED
要求使用 SSL/TLS,但不驗證證書,可能不使用 X.509 合規證書,B錯誤。 - 選項C:
VERIFY_IDENTITY
會驗證證書身份,確保使用符合 X.509 標準的證書,C正確。 - 選項D:
PREFERRED
優先使用 SSL/TLS,若不可用則降級,不強制驗證證書,D錯誤。 - 選項E:
VERIFY_CA
會驗證證書頒發機構,確保使用符合 X.509 標準的證書,E正確。
所以答案是C、E。
知識點總結
- MySQL SSL/TLS 連接模式:掌握
--ssl-mode
不同取值的含義,DISABLED
禁用加密,REQUIRED
啟用加密但不驗證,PREFERRED
優先加密,VERIFY_CA
驗證證書頒發機構,VERIFY_IDENTITY
驗證證書身份。明確需驗證證書時應選擇VERIFY_CA
或VERIFY_IDENTITY
,保障 SSL/TLS 連接的安全性和證書合規性,防止中間人攻擊等安全風險。 - 數據庫安全連接配置:在配置 MySQL 客戶端與服務端的安全連接時,根據安全需求選擇合適的
ssl-mode
。對于需要確保使用合規 X.509 證書的場景,選用VERIFY_CA
(驗證 CA )或VERIFY_IDENTITY
(驗證身份 ),提升數據庫連接的安全性,保護數據在傳輸過程中的機密性和完整性。
題目71
Choose two.
On examination, your MySQL installation datadir has become recursively world read/write/executable.
What are two major concerns of running an installation with incorrect file privileges?
□ A) Extra startup time would be required for the MySQL server to reset the privileges.
□ B) MySQL binaries could be damaged, deleted, or altered.
□ C) SQL injections could be used to insert bad data into the database.
□ D) Data files could be deleted.
□ E) Users could overwrite configuration files.
翻譯
選擇兩項。
經檢查,你的 MySQL 安裝的 datadir
已遞歸設置為全局可讀/可寫/可執行。
運行文件權限不正確的安裝,主要有哪兩個擔憂?
□ A) MySQL 服務器重置權限需要額外的啟動時間。
□ B) MySQL 二進制文件可能被損壞、刪除或修改。
□ C) SQL 注入可能被用于向數據庫插入不良數據。
□ D) 數據文件可能被刪除。
□ E) 用戶可能覆蓋配置文件。
解析和答案
- 選項A:文件權限錯誤不會導致服務器啟動時重置權限需額外時間,A錯誤。
- 選項B:
datadir
權限錯誤主要影響數據文件,不是 MySQL 二進制文件(二進制文件通常在其他目錄 ),B錯誤。 - 選項C:SQL 注入與應用代碼和查詢處理有關,和文件權限無關,C錯誤。
- 選項D:
datadir
包含數據庫數據文件,全局可寫意味著任意用戶可能刪除數據文件,D正確。 - 選項E:若配置文件(如
my.cnf
)所在目錄權限不當,用戶可能覆蓋配置文件,影響 MySQL 運行,E正確。
所以答案是D、E。
知識點總結
- MySQL 文件權限風險:理解
datadir
等關鍵目錄文件權限不正確帶來的風險,數據文件因可寫可能被刪除,配置文件因權限問題可能被覆蓋。掌握文件權限對 MySQL 安全運行的重要性,在部署和運維中,嚴格設置datadir
、配置文件等的權限(如限制為 MySQL 運行用戶可讀寫 ),防止因權限過松導致數據丟失、配置被篡改等安全事件,保障數據庫的完整性和可用性。 - 數據庫安全運維:在數據庫日常運維中,文件權限管理是基礎且關鍵的環節。定期檢查
datadir
、配置文件、二進制文件等的權限設置,遵循最小權限原則,僅賦予必要用戶和進程相應權限。通過合理的權限配置,降低外部用戶對數據庫文件的非法操作風險,提升數據庫整體安全性。
題目72
Choose two.
Examine this query and output:
mysql> EXPLAIN ANALYZE
SELECT city.CountryCode, country.Name AS Country_Name ,
city.Name, city.District, city.Population
FROM world.city
INNER JOIN world.country ON country.Code = city.CountryCode
WHERE country.Continent = ' Asia '
AND city.Population > 1000000
ORDER BY city.Population DESC\G
EXPLAIN: *************************** 1. row ***************************
-> Sort: <temporary>.Population DESC (actual time=8.306..8.431 rows=125 loops=1)-> Stream results (actual time=0.145..8.033 rows=125 loops=1)-> Nested loop inner join (cost=241.12 rows=205) (actual time=0.141..7.787 rows=125 loops=1)-> Filter: (world.country.Continent = 'Asia') (cost=25.40 rows=34) (actual time=0.064..0.820 rows=51 loops=1)-> Table scan on country (cost=25.40 rows=239) (actual time=0.059..0.359 rows=239 loops=1)-> Filter: (world.city.Population > 1000000) (cost=4.53 rows=6) (actual time=0.059..0.131 rows=2 loops=51)-> Index lookup on city using CountryCode (CountryCode=world.country.`Code`) (cost=4.53 rows=18) (actual time=0.023..0.096 rows=35 loops=51)
1 row in set (0.0094 sec)
Which two statements are true?
□ A) The country table is accessed as the first table, and then joined to the city table.
□ B) 35 rows from the city table are included in the result.
□ C) The optimizer estimates that 51 rows in the country table have Continent=‘Asia’.
□ D) It takes more than 8 milliseconds to sort the rows.
□ E) The query returns exactly 125 rows.
翻譯
選擇兩項。
查看以下查詢和輸出:
mysql> EXPLAIN ANALYZE
SELECT city.CountryCode, country.Name AS Country_Name ,
city.Name, city.District, city.Population
FROM world.city
INNER JOIN world.country ON country.Code = city.CountryCode
WHERE country.Continent = ' Asia '
AND city.Population > 1000000
ORDER BY city.Population DESC\G
EXPLAIN: *************************** 1. row ***************************
-> Sort: <temporary>.Population DESC (actual time=8.306..8.431 rows=125 loops=1)-> Stream results (actual time=0.145..8.033 rows=125 loops=1)-> Nested loop inner join (cost=241.12 rows=205) (actual time=0.141..7.787 rows=125 loops=1)-> Filter: (world.country.Continent = 'Asia') (cost=25.40 rows=34) (actual time=0.064..0.820 rows=51 loops=1)-> Table scan on country (cost=25.40 rows=239) (actual time=0.059..0.359 rows=239 loops=1)-> Filter: (world.city.Population > 1000000) (cost=4.53 rows=6) (actual time=0.059..0.131 rows=2 loops=51)-> Index lookup on city using CountryCode (CountryCode=world.country.`Code`) (cost=4.53 rows=18) (actual time=0.023..0.096 rows=35 loops=51)
1 row in set (0.0094 sec)
以下哪兩個陳述是正確的?
□ A) country表作為第一個被訪問的表,然后與city表進行連接。
□ B) 結果中包含來自city表的35行數據。
□ C) 優化器估計country表中有51行滿足Continent=‘Asia’。
□ D) 對行進行排序花費了超過8毫秒的時間。
□ E) 查詢恰好返回125行數據。
解析和答案
- 選項A:從執行計劃中
Nested loop inner join
的層級來看,先訪問world.country
表(Table scan on country
),然后再與world.city
表連接,A正確。 - 選項B:執行計劃中
Index lookup on city... actual time=0.023..0.096 rows=35 loops=51
,這里的35行是每次循環的行數,不是最終結果的行數,B錯誤。 - 選項C:執行計劃中
Filter: (world.country.Continent = 'Asia') (cost=25.40 rows=34) (actual time=0.064..0.820 rows=51 loops=1)
,優化器估計的是34行,實際是51行,C錯誤。 - 選項D:執行計劃中
Sort: <temporary>.Population DESC (actual time=8.306..8.431 rows=125 loops=1)
,排序實際時間是8.306到8.431毫秒,是超過8毫秒,不過結合其他選項,E更準確,且D表述雖然數值對,但不是最符合的,重點看E。 - 選項E:執行計劃中
Sort: ... rows=125 loops=1
以及Stream results (actual time=0.145..8.033 rows=125 loops=1)
,說明最終查詢返回125行,E正確。
所以答案是A、E。
知識點總結
- 執行計劃分析:學會解讀
EXPLAIN ANALYZE
輸出的執行計劃,包括表的訪問順序、連接類型、過濾條件的估計與實際行數、排序操作的耗時和結果行數等。通過分析執行計劃,能了解查詢的執行流程、性能瓶頸,以及驗證查詢結果相關信息(如返回行數 )。 - 查詢優化與調優:理解執行計劃中各部分(如表掃描、索引查找、連接、排序 )對查詢性能的影響,掌握如何根據執行計劃優化查詢,比如調整表連接順序、優化索引、調整過濾條件等,以提升查詢效率,這對于數據庫性能優化至關重要。