「アクセス権限制御システム| MySQLシステムライブラリの包括的理解」の前号では、MySQLのアクセス権限制御システムをMySQL権限テーブルで詳細に紹介しました。この号では、シリーズ「メタデータ」の第3部を紹介します。記録表| mysqlシステムライブラリの包括的な理解」、mysqlシステムライブラリのシステム学習の旅を開始するために私たちに従ってください。
1、プラグイン
このテーブルは、カスタムインストールされたプラグイン(デフォルトで有効になっているプラグインではありません)を照会するための情報を提供します。このテーブルの機能は、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テーブルに似ています。詳細については、記事「サーバーレイヤーテーブルレベルのオブジェクトディクショナリテーブル| Information_schemaの包括的な理解」のルーチンセクションを参照してください。ここでは繰り返しません。
3、イベント
このテーブルは、クエリプランタスクに関連するイベント情報を提供します。このテーブルの情報は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テーブルのフィールドの意味は似ています。詳細については、記事「サーバーレベルのテーブルレベルのオブジェクト辞書テーブル| information_schemaの包括的な理解」のイベントの部分を参照してください。ここでは繰り返しません。
4、func
このテーブルは、information_schema.routinesテーブル(以前のバージョンは主にユーザー定義関数を記録するために使用されます)と同様のクエリコンテンツを提供しますが、information_schema.routinesテーブルはより詳細を記録します。
さらに、このテーブルは、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テーブルを参照してください。詳細については、記事「サーバーレイヤーテーブルレベルのオブジェクトディクショナリテーブル| Information_schemaの包括的な理解」のルーチンの部分を参照してください。ここでは、ここでは繰り返しません。
この号の内容はここで紹介されており、この号の参照リンクは次のとおりです。
https://dev.mysql.com/doc/refman/5.7/en/system-database.html
「この山を登ると、海が見えます!」共有する「MySQLシステムライブラリの包括的な理解」シリーズの記事を読み続けると、体系的に学ぶことができます。読んでいただきありがとうございます。次号でお会いしましょう!
|作者について
LuoXiaobo・ScaleFluxデータベーステクノロジーエキスパート
「千の金のレシピ-MySQLパフォーマンス最適化ピラミッドルール」、「データエコロジー:MySQLレプリケーションテクノロジーとプロダクションプラクティス」の著者の1人。
MySQLアーキテクチャに精通し、オープンソーステクノロジーに特化するなど、データベース全体のチューニングに精通し、オープンソーステクノロジーの推進に熱心であり、オンラインおよびオフラインで多くの公開データベーストピック共有を行い、100近くのデータベース関連の研究記事を公開しています。
全文は終わりました。
MySQLをお楽しみください:)
TeacherYeの「MySQLCoreOptimization」クラスがMySQL8.0にアップグレードされました。コードをスキャンして、MySQL8.0の練習の旅を始めてください。