検索プログラマのメモ帳

壁にぶつかったら検索で調べるプログラマのちょっと遅れたメモ帳。たまに自分で挑戦する。

Skip to: Content | Sidebar | Footer

MySQLのログの種類とログの設定方法

27 5月, 2015 (05:16) | mysql | By: admin

MySQLでは、4つログの種類があります。
・エラー ログ
・一般クエリ ログ
・バイナリ ログ
・スロー クエリ ログ

1.エラー ログ

mysqld (サーバー)の起動、実行、停止のロギング、また発生した問題のエラー情報などをロギング

/etc/my.cnf(my.ini)
my.cnfで設定するパラメータ)は、ハイフォン(“-“)を使わない

[mysqld]
# Error log
log_error=”/var/log/mysql/mysqld.log”
log_warnings=1

2.一般クエリ ログ

mysqld (サーバー)がクライアントとの接続と実行したクエリ(SQL)をロギング

/etc/my.cnf(my.ini)
my.cnfで設定するパラメータ)は、ハイフォン(“-“)を使わない

[mysqld]
# Query log
log=”/var/log/mysql/sql.log”
ファイル名を指定しない場合は、「ホスト名.log」のファイル名で保存される。

# Query log
general_log=1
#1:ロギングする、0:ロギングしない

general_log_file=”/var/log/mysql/sql.log”
#指定しない場合は、「ホスト名.log」のファイル名で保存

log_output=FILE
#TABLE:テーブルへのログ、FILE:ファイルへのログ、NONE:テーブルまたはファイルにログしない のいずれか。

3.バイナリログ

mysqld (サーバー)のデータ変更のステートメントをバイナリ情報でロギングします。また、レプリケーションにも使用される。
mysqlbinlogコマンドで確認する。
mysqlbinlogコマンドにバイナリログのファイル名を指定するとロールバック用のSQL文が出力される。

[mysqld]
# Binary log
log_bin=”/var/log/mysql/bin.log”
#ログファイル名を指定すると有効になる。

log_bin_index=”/var/log/mysql/bin.list”
#バイナリログ ファイル名を管理するためのファイルの名前

max_binlog_size=1M
#バイナリログの最大ファイルサイズを指定。サイズ超過でローテートする。
#設定可能な値は、4096B~1GB(デフォルト)

expire_logs_days=1
#保存期間を日数。デフォルト0 は、削除しない。

4.スロークエリログ

long_query_time で指定した秒数より時間を要したクエリ(SQL)、またはインデックスを使用しなかったクエリ(SQL)のロギング。

[mysqld]
# Slow Query log
slow_query_log=1
#1:ロギングする、0:ロギングしない

slow_query_log_file=”/var/log/mysql/slow.log”
#指定しない場合は、general_log_file

log_queries_not_using_indexes
#インデックスしていないクエリを全て出力する場合に指定

log_slow_admin_statements
#管理用のステートメント(OPTIMIZE TABLE、ANALYZE TABLE、ALTER TABLE など) についてもロギングしたい場合に指定

Write a comment