facebook twitter hatena line email

「Mysql/slow.log設定」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(設定方法(mysql 5.1以降(cnf出ない場合)
(設定方法(mysql 5.1以降(cnf出ない場合)
行17: 行17:
 
==設定方法(mysql 5.1以降(cnf出ない場合==
 
==設定方法(mysql 5.1以降(cnf出ない場合==
 
  mysql> SET GLOBAL slow_query_log=ON;
 
  mysql> SET GLOBAL slow_query_log=ON;
  mysql> SET GLOBAL slow_query_log_file='/var/log/mysql-slow.log';
+
  mysql> SET GLOBAL slow_query_log_file='/var/log/mysql-slow.log'; #ダメな場合は下の行を試してみる
 +
mysql> SET GLOBAL slow_query_log_file='/var/lib/mysql/mysql-slow.log';
 
  mysql> SET GLOBAL long_query_time=5;
 
  mysql> SET GLOBAL long_query_time=5;
  

2015年7月28日 (火) 06:33時点における版

設定方法(mysql 5.1以前

  1. rootでログイン
  2. /etc/my.cnf
[mysqld]
long_query_time=1 # x秒より遅いSQLのみログに追記 # 追加
log-slow-queries=/var/log/slow.log # 追加
long_query_time=0.1
  1. /var/log/slow.logファイルをmysql:mysqlで生成
  2. mysql再起動

設定方法(mysql 5.1以降

  1. /etc/my.cnf
slow_query_log=ON
slow_query_log_file=/var/log/mysql-slow.log
  1. /var/log/mysql-slow.logファイルをmysql:mysqlで生成

設定方法(mysql 5.1以降(cnf出ない場合

mysql> SET GLOBAL slow_query_log=ON;
mysql> SET GLOBAL slow_query_log_file='/var/log/mysql-slow.log'; #ダメな場合は下の行を試してみる
mysql> SET GLOBAL slow_query_log_file='/var/lib/mysql/mysql-slow.log';
mysql> SET GLOBAL long_query_time=5;

slowlogの集計

mysqldumpslow -s t /var/log/mysql-slow.log

動的にsqlログを取得

  1. まずは現状設定確認
mysql > show global variables like '%query%';
  1. 変更する
mysql > set global slow_query_log = 1;
mysql > set global slow_query_log_file = '/var/log/mysql-slow.log';
mysql > set global long_query_time = 3;
  1. 元に戻しておく