9年以上前投稿 修正あり
MySQLのPerformance Schemaでsetup_actorsに除外条件を設定する
5.7.6-m16にてperformance_schema.setup_actorsに加えられたenabledカラムの話
- 原文
- MySQL Performance Schema: Instrumentation Exceptions | MySQL Server Blog (English)
- 翻訳依頼者
-
- 翻訳者
- yoku0825
- 原著者への翻訳報告
- 未報告
免責事項
* この翻訳は MySQL Server Blogの記事をユーザーが翻訳したものであり、Oracle公式の翻訳ではありません。
Performance Schema のsetup_actors はどのユーザーやどのホストからの接続のinstrumentation(訳注: Performance Schemaで統計情報を取得中のスレッドのステータス)を有効化するのかを指定するのに使う。デフォルトでは全てのホストからの全ての接続でinstrumentationが有効化される。
mysql> select * from performanceschema.setupactors;
+------+------+------+
| HOST | USER | ROLE |
+------+------+------+
| % | % | % |
+------+------+------+
1 row in set (0.00 sec)
setup_actors テーブルで特定のユーザーや特定のホストだけinstrumentationを有効化するのにはごく普通のSQLが使える。
だが、'mayank'ユーザーを 除いた 全てのユーザーのinstrumentationを有効にするような場合はどうすればいいだろう?
MySQL 5.7.6 DMR では、新しく ENABLED カラムがsetup_actors テーブルに追加された。なので、今のデフォルトの設定状態はこんな感じだ。
mysql> select * from performanceschema.setupactors;
+------+------+------+---------+
| HOST | USER | ROLE | ENABLED |
+------+------+------+---------+
| % | % | % | YES |
+------+------+------+---------+
1 row in set (0.00 sec)
この新しいカラムのおかげで、'mayank'以外の全てのユーザーのinstrumentationを有効にする、というのはとても簡単に指定できる。
mysql> insert into performanceschema.setupactors values ('%','mayank','%','NO');
Query OK, 1 row affected (0.00 sec)
mysql> select * from performanceschema.setupactors;
+------+--------+------+---------+
| HOST | USER | ROLE | ENABLED |
+------+--------+------+---------+
| % | % | % | YES |
| % | mayank | % | NO |
+------+--------+------+---------+
2 rows in set (0.00 sec)
同じことはホストに対しても指定できる。たとえば、'localhost'以外の全てのホストからの接続のinstrumentationを有効にしたいのならば、
mysql> insert into performanceschema.setupactors values ('localhost','%','%','NO');
Query OK, 1 row affected (0.00 sec)
mysql> select * from performanceschema.setupactors;
+-----------+--------+------+---------+
| HOST | USER | ROLE | ENABLED |
+-----------+--------+------+---------+
| % | % | % | YES |
| % | mayank | % | NO |
| localhost | % | % | NO |
+-----------+--------+------+---------+
3 rows in set (0.00 sec)
この設定を済ませると、'mayank'ユーザー(どのホストから接続しても含まれる)と'localhost'からの接続ユーザーを 除いた 全てのユーザーとホストからの接続に対してinstrumentationが有効になる。
この新しい機能が便利だと思ってくれれば嬉しい。もし何か質問があれば、この記事(訳注: オリジナルの記事 のこと)に気軽にコメントしてもらうか、サポートチケットを切ってほしい。何かバグを踏んだら、この記事にコメントしてもらうか、バグレポート か、サポートチケットを切ってほしい。
毎度のことながら、MySQLを使ってくれてありがとう!