資料庫物件資訊記錄表|全方位認識 mysql 系統庫

沃趣科技發表於2019-08-12

在上一期 《訪問許可權控制系統|全方位認識 mysql 系統庫》 中,我們結合MySQL的許可權表詳細介紹了MySQL 的訪問許可權控制系統,本期我們將為大家帶來系列第三篇《後設資料記錄表|全方位認識 mysql 系統庫》,下面請跟隨我們一起開始 mysql 系統庫的系統學習之旅吧。

1、plugin

該表提供查詢自定義安裝的外掛資訊(非系統預設啟用的外掛),該表的功能已經被information_schema.plugins表取代。
下面是該表中儲存的資訊內容。

root@localhost : mysql 01:00:20> select * from plugin;
+------------------------------------------+-----------------------+
| name                                     | dl                    |
+------------------------------------------+-----------------------+
| CONNECTION_CONTROL                       | connection_control.so |
| CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS | connection_control.so |
+------------------------------------------+-----------------------+
2 rows in set (0.00 sec)

表欄位含義

  • name: 自定義安裝外掛時指定的外掛名稱。
  • dl: 自定義安裝的外掛so庫名稱。

2、proc

該表提供查詢與information_schema.routines表類似的內容(早期版本主要使用者記錄儲存過程),但information_schema.routines表記錄的更加詳細。
下面是該表中儲存的資訊內容。
root@localhost : mysql 01:01:09> select * from proc limit 1\G;
*************************** 1. row ***************************
                  db: sys
                name: extract_schema_from_file_name
                type: FUNCTION
       specific_name: extract_schema_from_file_name
            language: SQL
     sql_data_access: NO_SQL
    is_deterministic: YES
       security_type: INVOKER
          param_list:  path VARCHAR(512) 
             returns: varchar(64) CHARSET utf8
                body: BEGIN RETURN LEFT(SUBSTRING_INDEX(SUBSTRING_INDEX(REPLACE(path, '\\', '/'), '/', -2), '/', 1), 64); END
             definer: mysql.sys@localhost
             created: 2017-07-01 14:31:32
            modified: 2017-07-01 14:31:32
            sql_mode: 
             comment: 
 Description
 ......
character_set_client: utf8
collation_connection: utf8_general_ci
        db_collation: utf8_general_ci
           body_utf8: BEGIN RETURN LEFT(SUBSTRING_INDEX(SUBSTRING_INDEX(REPLACE(path, '\', '/'), '/', -2), '/', 1), 64); END
1 row in set (0.01 sec)
表欄位含義

  • 與information_schema.routines表類似,詳情參考《Server層表級別物件字典表|全方位認識 information_schema》一文中routines部分,這裡不再贅述。

3、event

該表提供查詢計劃任務相關的事件資訊,該表中的資訊與information_schema.events相同,且information_schema.events中記錄的資訊更加詳細。
下面是該表中儲存的資訊內容。
root@localhost : mysql 01:02:41> select * from event limit 1\G;
*************************** 1. row ***************************
                  db: sbtest
                name: test_event
                body: BEGIN
insert into test_table select max(id) from sbtest1;
      END
             definer: root@%
          execute_at: NULL
      interval_value: 1
      interval_field: DAY
             created: 2018-01-21 17:05:37
            modified: 2018-01-21 17:08:56
       last_executed: NULL
              starts: 2018-01-21 09:05:37
                ends: NULL
              status: ENABLED
       on_completion: DROP
            sql_mode: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
             comment: 每天統計sbtest1表中的最大自增值
          originator: 3306111
           time_zone: +08:00
character_set_client: utf8
collation_connection: utf8_general_ci
        db_collation: utf8_bin
           body_utf8: BEGIN
insert into test_table select max(id) from sbtest1;
      END
1 row in set (0.00 sec)

表欄位含義

  • 與information_schema.events表的欄位含義類似,詳見《Server層表級別物件字典表|全方位認識 information_schema》一文中events部分,這裡不再贅述。

4、func

該表提供查詢與information_schema.routines表類似的內容(早期版本主要用於記錄使用者自定義函式),但information_schema.routines表記錄的更加詳細。

  • 另外,該表還專用於記錄從so外掛庫中安裝的函式資訊。

下面是該表中儲存的資訊內容(這裡列出的示例內容為從企業版so外掛中安裝的UDF函式)。

root@localhost : mysql 12:52:05> select * from func;
+--------------------------------+-----+--------------+-----------+
| name | ret | dl | type |
+--------------------------------+-----+--------------+-----------+
| audit_log_filter_flush | 0 | audit_log.so | function |
| audit_log_filter_remove_user | 0 | audit_log.so | function |
| audit_log_filter_set_user | 0 | audit_log.so | function |
| audit_log_filter_remove_filter | 0 | audit_log.so | function |
| audit_log_filter_set_filter | 0 | audit_log.so | function |
| set_firewall_mode | 0 | firewall.so | function |
| normalize_statement | 0 | firewall.so | function |
| mysql_firewall_flush_status | 0 | firewall.so | function |
| read_firewall_whitelist | 0 | firewall.so | aggregate |
| read_firewall_users | 0 | firewall.so | aggregate |
+--------------------------------+-----+--------------+-----------+
10 rows in set (0.00 sec)

表欄位含義

  • 詳見information_schema.routines表,詳情參考《Server層表級別物件字典表|全方位認識 information_schema》一文中routines部分,這裡不再贅述。

本期內容就介紹到這裡,本期內容參考連結如下:
https://dev.mysql.com/doc/refman/5.7/en/system-database.html

"翻過這座山,你就可以看到一片海! "。 堅持閱讀我們的"全方位認識 mysql 系統庫"系列文章分享,你就可以系統地學完它。  謝謝你的閱讀,我們下期不見不散!



作者簡介

羅小波·沃趣科技高階資料庫技術專家

IT從業多年,主要負責MySQL 產品的資料庫支撐與售後二線支撐。曾參與版本釋出系統、輕量級監控系統、運維管理平臺、資料庫管理平臺的設計與編寫,熟悉MySQL體系結構,Innodb儲存引擎,喜好專研開源技術,多次在公開場合做過線下線上資料庫專題分享,發表過多篇資料庫相關的研究文章。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28218939/viewspace-2653357/,如需轉載,請註明出處,否則將追究法律責任。

相關文章