稼働中のMySQLサーバのパラメータ確認-SHOW VARIABLESコマンド
SHOW VARIABLESコマンドでは現在のパラメータを確認できます。SHOW VARIABLESコマンドの出力内容はLIKEやWHEREで絞り込むこともできます。パラメータ名がわかっている場合には,
図1 SHOW VAIRABLESコマンドの実行例
mysql> SHOW VARIABLES LIKE 'char%'; mysql> SHOW VARIABLES WHERE Value = 'ON'; mysql> SELECT @@character_set_server;
ここでの注意すべきポイントが2点あります。
- MySQLサーバ起動時の設定ではなく現在有効なパラメータが表示される
- デフォルトでは現在の接続で有効なパラメータが表示され,
他の接続とは値が異なる可能性がある
1. MySQLサーバ起動時のパラメータではなく現在有効なパラメータが表示される
SETコマンドによって接続毎に一時的にパラメータを変更できる項目があります。SHOW VARIABLESコマンドの結果にはSETコマンドによって変更された後のパラメータが出力されるため,
2. デフォルトでは現在の接続で有効なパラメータが表示され,他の接続とは値が異なる可能性がある
SETコマンドはデフォルトではコマンドを実行しているクライアントのパラメータを一時的に変更し,
- 例)
SHOW LOCAL VARIABLES;
SETコマンドにもGLOBALオプションが利用可能です。この場合,
MySQLのパラメータ設定
MySQLのパラメータ設定方法は,
どこに置かれた設定ファイルを使用するかはMySQLサーバのバージョンやOSによって異なるので注意が必要です。複数の設定ファイルに同じ設定項目で異なる値が設定されていた場合は,
図2 Mac OS X 10.
$ ./mysqld --verbose --help|grep my.cnf /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
このため,
稼働状況の確認方法(1)-SHOW STATUSコマンド
SHOW STATUSコマンドではMySQLサーバの内部カウンタなどの値を確認できます。コマンド実行回数などは,
主なカテゴリは以下のとおりです。
表 接頭辞とカテゴリ
接頭辞 | カテゴリ |
---|---|
Com_ | MySQLサーバ内でのコマンド実行回数 |
Create_ |
テンポラリテーブル作成 |
Handler_ | Handlerインターフェースに対するコマンド実行回数 |
Innodb_ | InnoDBストレージエンジン |
Key_ | MyISAMのインデックスキャッシュ |
Performance_ |
パフォーマンススキーマ |
Qcache_ | クエリキャッシュ |
Select_ | 問題となり得るSELECT文 |
Slave_ | レプリケーションスレーブ |
Sort_ | ソート |
Ssl_ | SSL |
Table_ | テーブルレベルロックおよびテーブルキャッシュ |
Thread_ | MySQLサーバの内部スレッド |
Uptime_ | 稼働時間 |
SHOW GLOBAL STATUSコマンドの出力は,