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

SQL Server Browser を起動する方法

SQL Server構成マネージャーより起動できるはずが、なぜか開始も停止もできない。 コントロール パネル > システムとセキュリティ > 管理ツール > サービス を見ると、SQL Server …

mysql

MySQLのmysqldumpのエクスポートとインポート

ダンプはバックアップやテストに大活躍してくれます。 しかし、データベース単位でエクスポートしても、インポートには随分時間がかかったりします。 その辺は別の機会にしますが、今回は基本コマンドのまとめです …

sqlserver

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

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

mysql

MySQLでフラグの列でSELECTする。(複合インデックスの使用条件)

status=’1’とかdelete=’0’といった条件はよく使用することでしょう。 そこでフラグにはどのデータ型がベストなのでしょうか。 INDEX1 …

sqlserver

SQL Server Management Studio の「上位200行の編集」を変更したい

恐らく私が十分に使用できていないだけで、機能はたくさんありそうなSQL Server Management Studio。最近新しいものに入れ替えたら(OS毎再インストールするハメになったのですが)、 …