Quantcast
Channel: Planet MySQL
Viewing all articles
Browse latest Browse all 1081

好きなスクリプト叩いて情報を持ってくるinformation_schemaプラグイン作った

$
0
0
別にスクリプトじゃなくて何でも動くけど。。

https://github.com/yoku0825/scripting_i_s

scripting_i_s.ccの中のI_S_SCRIPTのマクロを任意の実行ファイルに変えてやれば、そいつを実行した出力を空白セパレートでinformation_schema.scripting_i_sテーブルから参照できるようになっていたり。MySQL 5.5.32では動作確認済み。

取り敢えずこんな感じでいく。

$ cat /tmp/test.pl
#!/bin/bash
/bin/awk '{print $1, $2}' /proc/`pidof mysqld`/io >&2

mysql55> INSTALL PLUGIN scripting_i_s SONAME 'scripting_i_s.so';
Query OK, 0 rows affected (0.01 sec)

mysql55> SELECT * FROM information_schema.scripting_i_s;
+------------------------+---------+
| name                   | value   |
+------------------------+---------+
| rchar:                 | 9806796 |
| wchar:                 | 136035  |
| syscr:                 | 5898    |
| syscw:                 | 429     |
| read_bytes:            | 24576   |
| write_bytes:           | 311296  |
| cancelled_write_bytes: | 233472  |
+------------------------+---------+
7 rows in set (0.02 sec)

test.plの中身がPerlじゃないのは気にしない。

取り敢えずSuper_privが必要なようにはしてあるけど、mysqldの実行ユーザーで叩けるスクリプトは何でも叩くダメ仕様。md5をマクロでハードコードしておいて、実行都度md5判定させようとしたけれど、C力の低さで失敗し続けたので諦めた。

もうちょこちょこいじりたいなー。


【2013/07/10 15:36】
スクリプトから戻ってくる結果が1行64KiBを超えると多分セグフォる(キリ
PlanetMySQL Voting: Vote UP / Vote DOWN

Viewing all articles
Browse latest Browse all 1081

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>