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を超えると多分セグフォる(キリ
0 件のコメント :
コメントを投稿