猫型iPS細胞研究所

Windows、Linux、iOS、DB、Network

DataBase MySQL

MySQLのエラー、クエリ、スロークエリのログ

投稿日:2013年5月26日 更新日:

全て /etc/my.cnf の [mysqld] に追記してサーバーを再起動すれば出力されるようになります。

エラーログは開発時には警告も出力しておけばよいでしょう。

クエリログは全てのSELECTが出力されます。
運用が始まったら消しておくべきでしょう。

スロークエリは指定秒以上のSELECTを出力します。
運用が始まってからも活躍することでしょう。

[mysqld]
#エラーログ
log-error=/var/log/mysql_error.log
log-warnings=1 #0:警告はログなし、1:警告もログ出力

#クエリログ
log=/var/log/mysql_query.log

#スロークエリ
log-slow-queries=/var/log/mysql_slow.log
long-query-time=1 #1秒以上のものを出力
log-queries-not-using-indexes #indexを使用しなかった場合に出力

ちなみにmysqlユーザーは/var/log/には権限がありません。
もし例のように/var/log/にログを出力するのであれば、
root等で事前ログファイルを作成してから所有権を変更するか、パーミッションを変更します。

空ファイルを作成
# cd /var/log/
# touch mysql_query.log

所有権をmysqlに変更する
# chown mysql mysql_query.log

もしくはパーミッションを変更する
# chmod 777 mysql_query.log

Gooleアドセンス用336

Gooleアドセンス用336

-DataBase, MySQL

執筆者:

関連記事

mysql

MySQLのwait_timeout

データベースやWebサーバーは、実際に稼働してから問題が多発します。 データ量が増えてきたり、アクセスが増えてきたらまずレスポンスの問題が発生するでしょう。 経験のあるエンジニアがいれば、十分なテスト …

mysql

MySQLの時間の計算・比較

列同士を比較する datetime型をそのままプラス・マイナスしてはいけません!! 例えば、 mysql> select * from test; +———————+ …

MySQLにローカルから接続する

リモートから接続するユーザー リモートから接続するユーザーは以下のような感じで作成できます。 $mysql> grant all privileges on *.* to username@’% …

mysql

vmwareをアップデートしたらMySQLが起動しなくなった

[root@centos100 log]# service mysql restart MySQL server PID file could not be found! [失敗] Starting …

mysql

MySQLの時間のフォーマット

MySQLのdatetime型はそのままSELECTすると、 2013-05-15 13:45:59 のように表示されてしまいます。 yyyy-mm-ddではなく、yyyy/mm/dd がいい場合もあ …