猫型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

執筆者:

関連記事

sqlserver

SQLSERVER saでログインできるようにする

私はsaも設定しておくべきだと思います。 そこでsaログインするための確認ポイントです。 INDEX1 ログインを有効にする2 サーバー認証の設定3 名前付きパイプ ログインを有効にする Manage …

mysql

MySQL:エラー:The total number of locks exceeds the lock table size

The total number of locks exceeds the lock table sizeは、大量にデータを削除する場合等に発生する可能性があります。 見ての通り、ロックするメモリー不 …

sqlserver

SQLSERVER「Login failed for user ‘xxxxxxx’. 理由: 指定された名前に一致するログインが見つかりませんでした」

Windows認証でAdministratorを指定しているのにログインできない。 そんな場合は以下の手順でAdministratorユーザーを作成します。 INDEX1 起動時のパラメーターの変更2 …

sqlserver

SQLSERVER サービス起動用ユーザーを作成する

SQLサーバーのサービスを起動しているのは、デフォルトではおそらくAdministratorです。 ここに大きな落とし穴があります。 Administratroのパスワードを変更することはセキュリティ …

sqlserver

SQLSERVER インストール後にDataをDドライブ(別ドライブへ)移動する方法

通常OSはCドライブ、データはDドライブなどの別ドライブを使用します。 SQLSERVERではデータの肥大化が起こりうる実データファイル(mdfやldf)をCドライブ以外に変更したい場面は多いはずです …