MySQL裏默認的幾個庫是幹啥的?

本文涉及:MySQL安裝後自帶的4個數據庫:information_schema、
performance_schema、sys、mysql的做用及其中各個表所存儲的數據含義mysql

information_schema

information_schema是mysql自帶的一個信息數據庫,其保存着關於mysql服務器所維護的全部其餘數據庫的信息,如數據庫名,數據庫的表,表欄的數據類型與訪問權限等
也就是說當你創建一個新的數據庫,或者在已有的數據庫中增刪改表的話,都會記錄在information_schema庫中面試

相關表:redis

  • character_sets:存儲數據庫相關字符集信息(memory存儲引擎)
  • collations:字符集對應的排序規則
  • collation_character_set_applicability:字符集和連線校對的對應關係
  • schema_privileges:提供了數據庫的相關權限
  • table_privileges: 提供的是表權限相關信息
  • column_privileges :表受權的用戶的權限
  • user_privileges:提供的是用戶表權限相關信息
  • columns:存儲全部表的全部字段信息
  • innodb_sys_columns :innodb的元數據
  • engines :引擎類型,是否支持這個引擎,描述,是否支持事物,是否支持分佈式事務,是否可以支持事物的回滾點
  • events :記錄mysql中的事件,相似於定時做業
  • files :這張表提供了有關在mysql的表空間中的數據存儲的文件的信息,文件存儲的位置
  • parameters :參數表存儲了一些存儲過程和方法的參數,以及存儲過程的返回值信息
  • plugins :mysql的插件信息,是不是活動狀態等信息
  • routines:關於存儲過程和方法function的一些信息
  • schemata:這個表提供了實例下有多少個數據庫,並且還有數據庫默認的字符集
  • triggers :觸發器的信息
  • views :視圖的信息
  • referential_constraints:這個表提供的外鍵相關的信息
  • table_constraints :這個表提供的是 相關的約束信息
  • innodb_sys_foreign_cols :innodb關於外鍵的元數據信息
  • key_column_usage :數據庫中全部有約束的列
  • global_status:系統狀態
  • global_variables:系統變量
  • session_status:session狀態
  • session_variables:session變量
  • partitions :mysql分區表相關的信息
  • processlist:當前線程列表
  • innodb_cmp_per_index,innodb_cmp_per_index_reset:關於壓縮innodb信息表的時候的相關信息
  • innodb_cmpmem ,innodb_cmpmem_reset:innodb的壓縮頁的buffer pool信息
  • innodb_buffer_pool_stats :表提供有關innodb 的buffer pool相關信息
  • innodb_buffer_page_lru,innodb_buffer_page :維護了innodb lru list的相關信息
  • innodb_buffer_page :buffer裏面緩衝的頁數據
  • innodb_sys_datafiles :這張表就是記錄的表的文件存儲的位置和表空間的一個對應關係
  • innodb_temp_table_info :全部的innodb的全部用戶使用到的信息
  • innodb_metrics :提供innodb的各類的性能指數
  • innodb_sys_virtual :表存儲的是innodb表的虛擬列的信息
  • innodb_cmp,innodb_cmp_reset:存儲的是關於壓縮innodb信息表的時候的相關信息
  • tables:數據庫中表的信息
  • tablespaces:活躍表空間
  • innodb_sys_tables:表格的格式和存儲特性,包括行格式,壓縮頁面大小位級別的信息
  • statistics:關於表的索引信息
  • innodb_sys_indexes:innodb表的索引的相關信息
  • innodb_sys_tablestats:mysql數據庫的統計信息
  • innodb_sys_fields :innodb的表索引字段信息,以及字段的排名
  • innodb_ft_config :這張表存的是全文索引的信息
  • innodb_ft_default_stopword:stopword 的信息
  • innodb_ft_index_cache :這張表存放的是插入前的記錄信息,也是爲了不dml時候昂貴的索引重組
  • optimizer_trace :提供的是優化跟蹤功能產生的信息
  • profiling:服務器執行語句的工做狀況
  • innodb_ft_being_deleted:nnodb_ft_deleted的一個快照
  • innodb_locks: innodb如今獲取的鎖
  • innodb_lock_waits:系統鎖等待相關信息,包含了阻塞的一行或者多行的記錄,並且還有鎖請求和被阻塞改請求的鎖信息等
  • innodb_trx:包含了全部正在執行的的事物相關信息,並且包含了事物是否被阻塞或者請求鎖

performance_schema

主要用於收集數據庫服務器性能參數sql

相關表:數據庫

  • setup_actors:配置用戶緯度的監控,默認監控全部用戶
  • setup_consumers:配置events的消費者類型,即收集的events寫入到哪些統計表中
  • setup_instruments:配置具體的instrument
  • setup_objects:配置監控對象,默認對mysql、performance_schema和information_schema中的表都不監控,而其它全部表都監控。
  • setup_timers:配置每種類型指令的統計時間單位
  • cond_instances:系統中使用的條件變量的對象
  • file_instances:系統中打開了文件的對象,包括ibdata文件,redo文件,binlog文件,用戶的表文件等
  • mutex_instances:系統中使用互斥量對象的全部記錄
  • rwlock_instances: 系統中使用讀寫鎖對象的全部記錄
  • socket_instances:活躍會話對象實例
  • events_waits_current:記錄了當前線程等待的事件
  • events_waits_history:記錄了每一個線程最近等待的10個事件
  • events_waits_history_long:記錄了最近全部線程產生的10000個事件
  • events_stages_current:記錄了當前線程所處的執行階段
  • events_stages_history:記錄了當前線程所處的執行階段10條歷史記錄
  • events_stages_history_long:記錄了當前線程所處的執行階段10000條歷史記錄
  • events_statements_current:最頂層的請求,SQL語句或是COMMAND
  • users:記錄用戶鏈接數信息
  • hosts:記錄了主機鏈接數信息
  • accounts:記錄了用戶主機鏈接數信息
  • events_waits_summary_global_by_event_name:按等待事件類型聚合
  • events_waits_summary_by_instance:按等待事件對象聚合
  • events_waits_summary_by_thread_by_event_name:按每一個線程和事件來統計
  • events_stages_summary_global_by_event_name:按事件階段類型聚合
  • events_stages_summary_by_thread_by_event_name:按每一個線程和事件來階段統計
  • events_statements_summary_by_digest:按照事件的語句進行聚合
  • events_statements_summary_global_by_event_name:按照事件的語句進行聚合
  • events_statements_summary_by_thread_by_event_name:按照線程和事件的語句進行聚合
  • file_summary_by_instance:按事件類型統計(物理IO維度)
  • file_summary_by_event_name:具體文件統計(物理IO維度)
  • table_io_waits_summary_by_table:根據wait/io/table/sql/handler,聚合每一個表的I/O操做(邏輯IO緯度)
  • table_io_waits_summary_by_index_usage:按索引維度統計
  • table_lock_waits_summary_by_table:聚合了表鎖等待事件
  • socket_summary_by_instance:socket聚合統計表
  • performance_timers:系統支持的統計時間單位
  • threads:監視服務端的當前運行的線程

sys

Sys庫是一個簡單版的performance_schema服務器

相關表:session

  • sys_config:用於sys schema庫的配置

相關視圖(以_*結尾的表明多個表):多線程

  • host_* : 以ip分組相關的統計信息
  • innodb_* : innodb buffer 相關信息
  • io_* : 數據內不一樣維度展的io相關的信息
  • memory_* : 以ip,鏈接,用戶,分配的類型分組及總的佔用顯示內存的使用
  • metrics : db的內部的統計值
  • processlist : 線程相關的信息
  • ps_check_lost_instrumentation: 沒有工具統計的一些變量
  • schema _*: 表結構相關的信息
  • session : 用戶鏈接相關的信息
  • statement_analysis : 基於語句的統計信息
  • statements_*: 出錯的語句,進行全表掃描、運行時間超長等
  • user_* : 和host_開頭的類似,只是以用戶分組統計
  • wait_*: 等待事件
  • waits_* : 以ip,用戶分組統計出來的一些延遲事件

mysql

存儲數據庫的用戶、權限設置、關鍵字等mysql本身須要使用的控制和管理信息app

相關表:socket

  • user:用戶表
  • db:存儲了某個用戶對一個數據庫的權限
  • host:存儲了某個主機對數據庫的操做權限
  • tables_priv:能夠對單個表進行權限設置
  • procs_priv:能夠對存儲過程和存儲函數進行權限設置
  • columns_priv:能夠對單個列進行權限設置
  • server_cost:CPU的代價模型
  • engine_cost:IO的代價模型
  • event:記錄MySQL中的事件
  • func:記錄MySQL中的自定義函數
  • general_log:全部的sql執行日誌(通常不開啓)
  • gtid_executed:二進制日誌
  • help_category:關於幫助主題類別的信息
  • help_keyword:與幫助主題相關的關鍵字信息
  • help_relation:幫助關鍵字信息和主題信息之間的映射
  • help_topic:幫助主題的詳細內容
  • innodb_index_stats: innodb中索引的統計數據
  • innodb_table_stats: innodb中表的統計數據
  • ndb_binlog_index:binlog相關信息
  • plugin:插件相關的表
  • proc:基礎信息相關的表
  • proxies_priv:數據庫用戶權限表
  • servers:節點相關信息
  • slave_master_info、slave_relay_log_info、slave_worker_info:主從相關表
  • slow_log:慢日誌記錄表
  • tables_priv:表權限表
  • time_zone、time_zone_leap_second、time_zone_name、time_zone_transition、time_zone_transition_type:時間相關表

推薦閱讀

  1. SpringCloud學習系列彙總
  2. 爲何一線大廠面試必問redis,有啥好問的?
  3. 多線程面試必備基礎知識彙總
  4. Java集合源碼分析彙總-JDK1.8
  5. Linux經常使用命令速查-彙總篇
  6. JVM系列文章彙總

博客全部文章首發於公衆號《Java學習錄》轉載請保留 掃碼關注公衆號便可領取2000GJava學習資源

1

相關文章
相關標籤/搜索