MySQL(MariaDB) - innotop コマンド導入(on Linux Mint)!
Updated:
こんにちは。
MySQL の各種状態を top
コマンド風に表示して確認できるツール “innotop” コマンドをインストールします。
名称どおり対象のストレージエンジンは “InnoDB” ですが、当然 MariaDB にも対応しています。
0. 前提条件
- MySQL 5.6.23 での作業を想定。
- インストール作業は root ユーザで作業を行う。
(一般ユーザで作業を行うと、インストール先がコマンドのみならずマニュアル等も一般ユーザディレクトリ配下になってしまうため)
1. 依存パッケージのインストール
# apt-get install libterm-readkey-perl libdbd-mysql-perl
2. ソースのダウンロード
「innotop/innotop」から git clone
する。
(ちなみに、innotop プロジェクト自体が Google Code から Git へ移行しているので、「Downloads - innotop - A powerful top clone for MySQL - Google Project Hosting」のページにあるソースは古くバグもあるので注意)
# cd /usr/local/src
# git clone https://github.com/innotop/innotop
Cloning into 'innotop'...
remote: Counting objects: 377, done.
remote: Total 377 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (377/377), 1.05 MiB | 288.00 KiB/s, done.
Resolving deltas: 100% (239/239), done.
Checking connectivity... done.
3. ビルド&インストール
# cd innotop
# perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for innotop
Writing MYMETA.yml and MYMETA.json
# make install
cp innotop blib/script/innotop
/usr/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/innotop
Manifying blib/man1/innotop.1p
Installing /usr/local/bin/innotop
Appending installation info to /usr/local/lib/perl/5.18.2/perllocal.pod
4. インストール確認
# innotop --version
innotop Ver 1.10.0
5. 動作確認
実行は以下のように行う。
(-d
or --delay
で更新間隔、 -m
or --mode
で表示モードを指定可能)
(詳細は man innotop
等で確認)
以下は、 “C(ommnad Summary)” の例。
$ innotop -u root -p<root_password> -d 5 -m C
[RO] Command Summary (? for help) localhost, 2h10m, 0.20 QPS, 1/1/0 con/run/cac thds, 5.6.23-log
___________________ Command Summary ____________________
Name Value Pct Last Incr Pct
Com_admin_commands 293 31.88% 1 33.33%
Com_show_status 264 28.73% 2 66.67%
Com_show_engine_status 86 9.36% 0 0.00%
Com_set_option 52 5.66% 0 0.00%
Com_show_master_status 51 5.55% 0 0.00%
Com_show_slave_status 49 5.33% 0 0.00%
Com_show_processlist 47 5.11% 0 0.00%
Com_insert 32 3.48% 0 0.00%
Com_show_variables 24 2.61% 0 0.00%
Com_select 8 0.87% 0 0.00%
Com_show_fields 6 0.65% 0 0.00%
Com_show_grants 3 0.33% 0 0.00%
Com_show_open_tables 3 0.33% 0 0.00%
Com_delete 1 0.11% 0 0.00%
Com_alter_db_upgrade 0 0.00% 0 0.00%
Com_alter_db 0 0.00% 0 0.00%
Com_alter_event 0 0.00% 0 0.00%
以下は、 “Q(uery List)” の例。
$ innotop -u root -p<root_password> -d 5 -m Q
[RO] Query List (? for help) localhost, 2h11m, 0.60 QPS, 1/1/0 con/run/cac thds, 5.6.23-log
When Load Cxns QPS Slow Se/In/Up/De% QCacheHit KCacheHit BpsIn BpsOut
Now 0.10 1 0.40 0 0/ 0/ 0/ 0 0.00% 100.00% 17.51 1.90k
Total 0.00 214 0.07 0 1/ 5/ 0/ 0 0.00% 50.00% 6.73 272.39
Cmd ID State User Host DB
Query 339938 checking permissio root localhost information_
Query 339939 checking permissio root localhost information_
6. その他
- 当然、
-h
or--host
オプションでリモート接続も可能。 - 指定するモードによっては、リモート接続で
SUPER
等の権限が必要。
7. 参考サイト
GUI ツールを使用したり、コマンドラインから SHOW PROCESSLIST
を数秒間隔で表示させるなどして MySQL サーバの状態を確認するより、格段に便利でしょう。
以上。
Comments