【忘備録】いろいろ確認できるコマンドたち

Pocket

なんかmysqlでもいろんなものがあって、確認したいことなんてたくさんありますよね。
insertやupdate、select文だけが書ければいいと言うわけではもちろんないです。
indexどうなってんだっけ?とか、このtableのストレージエンジンってなんだ?とか。
そういう確認するためのコマンドを集めた記事になります。

 

pager

mac使いならよくlessコマンドを使いますよね。
tailコマンド派だという方もいるとは思いますが…

で、それがMySQLでもできたら嬉しいですよね。

pager less

これでMySQLでもlessができます。
終了するときは

nopager

で終了できます。
こちらはSQL文ではなく、MySQLコマンドです。
コマンド一覧は

help

で確認できます。

 

show table status

このコマンドでtableの状態がわかります。
どのストレージエンジンを使っているのかであったり、dataサイズであったり、行数などなどがわかります。
ただ、このまま打ち込むとすべてのテーブルが表示されてうざい。
そんなときはlikeを使用します。

show table status like ‘profile’

もちろんワイルドカードも使えるので、パターンマッチはお好みでどうぞ。

 

show index from テーブル名

このテーブルのindexってどんなの貼ってんだっけ?
って時に使います。
indexを確認する方法はいくつかありますが、indexだけを知りたい場合はこちらで十分です。

select host, user, password from mysql.user

このSQL文で現在のDBにおけるユーザーを一覧表示できます。
select * でもいいんですが、死ぬほどいろいろなカラムがでてきます。
かなりうっとうしいので、試したい場合は実行する前にpager指定しておきましょう。笑

 

status

MySQLのサーバー状態の確認コマンドになります。
status以外にも3つあるので、それぞれをご紹介。

status – 簡単な情報を表示
show global status – statusより詳細な内部情報を表示
show variables – 各サーバー変数の設定値を表示
show full processlist – 現在接続/処理中のクライアント(スレッド)を表示

また、show global statusとshow variablesにはlike文を使用することが可能です。
ついでにクエリキャッシュの状態を知るためのコマンドを下記に示します。

Com_select – サーバーが実行したselect文の数。ただし、クエリキャッシュにヒットした文は含まない。
Qcache_free_blocks – クエリキャッシュ内の空きブロック数
Qcache_free_memory – クエリキャッシュ内の空きメモリ量
Qcache_hits – クエリキャッシュにヒットしたselect文の数
Qcache_inserts – クエリキャッシュに入れられたselect文の数
Qcache_not_cached – クエリキャッシュに入らなかったSQL文の数
Qcache_queries_in_cache – クエリキャッシュに保存されているクエリ数
Qcache_total_blocks – クエリキャッシュ内の合計ブロック数

 

use information_schema

もはや何の情報も出て来ないコマンドです。笑
information_schemaはdatabase名です。
ここにdatabaseに関する情報が詰まっています。
テーブル/インデックス、ビュー/ストアドプロシージャ/ファンクション/トリガなどなど。
まだ自分もそこまでわかっていませんが、以下のSQL文で貼られているindexすべてが取得できます。

select * from statistics;

 

一旦ここまでです。
あくまで防備録なので、今後も増えて行くかもしれません。
ちょくちょく忘れたり、こんなのないかなーって時に見にきてもらえたらと思います。

Pocket

Tags: