MySQL自帶的四個系統資料庫
阿新 • • 發佈:2022-05-07
MySQL四個自帶的資料庫為mysql、information_schema、performance_schema、sys。
mysql
https://dev.mysql.com/doc/refman/8.0/en/system-schema.html
- 它包含儲存MySQL伺服器執行時所需資訊的表。廣義的分類是,mysql資料庫包含儲存資料庫物件元資料的資料字典表,以及用於其他操作目的的系統表。具體包括:
- 資料字典表(Data Dictionary Tables):包括character_sets、collations、columns、events、foreign_keys、indexes、parameters、tables、triggers等。這些表包含資料字典,其中包含有關資料庫物件的元資料。資料字典表是不可見的。它們不能用SELECT讀取,不在SHOW TABLES的輸出中出現,不在INFORMATION_SCHEMA.TABLES表中列出。但在大多數情況下,可以查詢對應的information_schema表。從概念上講,information_schema提供了一個檢視,MySQL通過該檢視公開資料字典元資料。
- 授權系統表(Grant System Tables):包括user、db、tables_priv、columns_priv、procs_priv等。其中包含有關使用者帳戶及其所擁有許可權的資訊。
- 物件資訊系統表(Object Information System Tables):包含元件、可載入函式和伺服器端外掛的資訊。
- 日誌系統表(Log System Tables):包括通用查詢日誌表(general_log)和慢查詢日誌表(slow_log)。
- 伺服器端幫助系統表(Server-Side Help System Tables):這些系統表包含伺服器端幫助資訊。
- 時區系統表(Time Zone System Tables):這些系統表包含時區資訊。
- 複製系統表(Replication System Tables):包括ndb_binlog_index、slave_master_info、slave_relay_log_info、slave_worker_info等。伺服器使用這些系統表來支援複製。
- 優化器系統表(Optimizer System Tables):包括innodb_index_stats、innodb_table_stats、server_cost、engine_cost。這些系統表供優化器使用。
- 雜項系統表(Miscellaneous System Tables):包括firewall_group_allowlist、innodb_dynamic_metadata等。其中記錄了自增計數器的值。
information_schema
https://dev.mysql.com/doc/refman/8.0/en/information-schema.html
- information_schema提供對資料庫元資料、有關MySQL伺服器的資訊(例如資料庫或表的名稱、列的資料型別或訪問許可權)的訪問。有時用於此資訊的其他術語是資料字典和系統目錄。
- information_schema資料庫包含幾個只讀表。它們實際上是檢視,而不是基表。例如檢視TABLES等。
- information_schema可作為SHOW語句的替代方案。
SELECT ... FROM INFORMATION_SCHEMA
語句旨在作為一種更一致的方式來提供對MySQL支援的各種SHOW語句(SHOW DATABASES
、SHOW TABLES
等)提供的資訊的訪問。
performance_schema
https://dev.mysql.com/doc/refman/8.0/en/performance-schema.html
- 用於在低級別監視MySQL伺服器執行(旨在提供對有關伺服器執行的有用資訊的訪問,同時對伺服器效能的影響最小)。
- 提供了一種在執行時檢查伺服器內部執行的方法。
- 監視伺服器事件。
- performance_schema中的表是不使用持久磁碟儲存的記憶體表。內容在伺服器啟動時重新填充,並在伺服器關閉時丟棄。
sys
https://dev.mysql.com/doc/refman/8.0/en/sys-schema.html
- 這個資料庫主要是通過檢視的形式把information_schema和performance_schema結合起來,幫助系統管理員和開發人員監控MySQL的技術性能。
- 可用於典型的調優和診斷用例。此架資料庫中的物件包括:
- 將performance_schema資料彙總為更易於理解的形式的檢視(Views)。
- 執行諸如performance_schema配置和生成診斷報告等操作的儲存過程(Stored procedures)。
- 查詢performance_schema配置並提供格式化服務的儲存函式(Stored functions)。
參考資料:
- MySQL - 尚矽谷 - 宋紅康
- MySQL官方文件