1. 程式人生 > 其它 >MySQL自帶的四個系統資料庫

MySQL自帶的四個系統資料庫

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 DATABASESSHOW 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官方文件