MySQLでSlowquerylog(スロークエリーログ)を有効にする
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[MySQL]]
~
*** MySQL5.0 [#ufcc7939]
# vi /etc/my.cnf
[mysqld]
log-slow-queries = /var/log/mysql_slow.log
long_query_time = 1
log-queries-not-using-indexes
|変数名|説明|
|log-slow-queries| ログ出力先ファイル名(絶対パス/想定パス...
|long_query_time| 指定した時間(sec)以上かかったクエリを記...
|log-queries-not-using-indexes |指定するとインデックスを...
~
参考URL:http://yonchu.hatenablog.com/entry/20100716/1279...
~
***MySQL5.5以上 [#z469bf7a]
*設定の確認 [#h21c5b54]
mysql> show variables like 'slow%';
+---------------------+----------------+
| Variable_name | Value |
+---------------------+----------------+
| slow_launch_time | 2 |
| slow_query_log | OFF |
| slow_query_log_file | mysql-slow.log |
+---------------------+----------------+
slow_query_log がOFFになっているとスロークエリの出力は行...
mysql> show variables like 'long%';
+-----------------+-----------+
| Variable_name | Value |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
slow_query_logがONのとき、long_query_timeを超えるクエリ...
*スロークエリを出力する(コンソールからの設定) [#z58bfd20]
ファイルが無いとエラーになるので、最初にファイルを作る
# cd /var/log
# touch mysql_slow.log
# chown mysql:mysql mysql_slow.log
# vi /etc/logrotate.d/mysql
/var/log/mysql_slow.log
/var/log/mysql.log
{
weekly
rotate 10
delaycompress
missingok
}
# mysql -p
mysql> set global slow_query_log_file = '/var/log/mysql_...
mysql> set global long_query_time = 5;
mysql> set global slow_query_log = ON;
*スロークエリを出力する(my.cnfの設定) [#nfc9a9c8]
# vi /etc/my.cnf
[mysqld]
slow_query_log
slow_query_log-file = /var/log/mysql/mysql-slow.sql
long_query_time = 5
デフォルトでは無効になっています。
*mysqldumpslowを使って集計する [#s32b45a1]
$ mysqldumpslow -s t /var/log/mysql/mysql-slow.sql
Count: 93 Time=4.40s (409s) Lock=0.00s (0s) Rows=5.0 ...
show index from `bom`.`logs`
Count: 86 Time=3.76s (323s) Lock=0.00s (0s) Rows=0.4 ...
SELECT `hash`.`id` FROM `hash` WHERE (`key` = 'S')
-s オプションでどの項目でソートするかを指定することが...
*応用 [#e940a77f]
スロークエリだけでなくすべてのクエリの実行状況を集計する...
mysql > set global slow_query_log_file = '/tmp/slow.log';
mysql > set global long_query_time = 0;
~
~
参考URL:http://d.hatena.ne.jp/masayuki14/20120704
~
~
終了行:
[[MySQL]]
~
*** MySQL5.0 [#ufcc7939]
# vi /etc/my.cnf
[mysqld]
log-slow-queries = /var/log/mysql_slow.log
long_query_time = 1
log-queries-not-using-indexes
|変数名|説明|
|log-slow-queries| ログ出力先ファイル名(絶対パス/想定パス...
|long_query_time| 指定した時間(sec)以上かかったクエリを記...
|log-queries-not-using-indexes |指定するとインデックスを...
~
参考URL:http://yonchu.hatenablog.com/entry/20100716/1279...
~
***MySQL5.5以上 [#z469bf7a]
*設定の確認 [#h21c5b54]
mysql> show variables like 'slow%';
+---------------------+----------------+
| Variable_name | Value |
+---------------------+----------------+
| slow_launch_time | 2 |
| slow_query_log | OFF |
| slow_query_log_file | mysql-slow.log |
+---------------------+----------------+
slow_query_log がOFFになっているとスロークエリの出力は行...
mysql> show variables like 'long%';
+-----------------+-----------+
| Variable_name | Value |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
slow_query_logがONのとき、long_query_timeを超えるクエリ...
*スロークエリを出力する(コンソールからの設定) [#z58bfd20]
ファイルが無いとエラーになるので、最初にファイルを作る
# cd /var/log
# touch mysql_slow.log
# chown mysql:mysql mysql_slow.log
# vi /etc/logrotate.d/mysql
/var/log/mysql_slow.log
/var/log/mysql.log
{
weekly
rotate 10
delaycompress
missingok
}
# mysql -p
mysql> set global slow_query_log_file = '/var/log/mysql_...
mysql> set global long_query_time = 5;
mysql> set global slow_query_log = ON;
*スロークエリを出力する(my.cnfの設定) [#nfc9a9c8]
# vi /etc/my.cnf
[mysqld]
slow_query_log
slow_query_log-file = /var/log/mysql/mysql-slow.sql
long_query_time = 5
デフォルトでは無効になっています。
*mysqldumpslowを使って集計する [#s32b45a1]
$ mysqldumpslow -s t /var/log/mysql/mysql-slow.sql
Count: 93 Time=4.40s (409s) Lock=0.00s (0s) Rows=5.0 ...
show index from `bom`.`logs`
Count: 86 Time=3.76s (323s) Lock=0.00s (0s) Rows=0.4 ...
SELECT `hash`.`id` FROM `hash` WHERE (`key` = 'S')
-s オプションでどの項目でソートするかを指定することが...
*応用 [#e940a77f]
スロークエリだけでなくすべてのクエリの実行状況を集計する...
mysql > set global slow_query_log_file = '/tmp/slow.log';
mysql > set global long_query_time = 0;
~
~
参考URL:http://d.hatena.ne.jp/masayuki14/20120704
~
~
ページ名: