web-dev-qa-db-ja.com

エラーログの場所?

MySQLはログファイルを書き込みますか?はいの場合、そのパスは何ですか(ubuntu/Linuxの場合)?

15
Maulik Patel
  • 一般ログ-すべてのクエリ-VARIABLE general_logを参照
  • ログが遅い-クエリがlong_query_timeより遅い-slow_query_log_file
  • Binlog-レプリケーションとバックアップ用-log_bin_basename
  • リレーログ-レプリケーション用
  • 一般的なエラー-mysqld.err
  • 開始/停止-mysql.log(あまり面白くない)-log_error
  • InnoDB REDOログ-iblog*

多くのログのデフォルトの場所については、変数basedirおよびdatadirを参照してください

一部のログは他の変数によってオン/オフになっています。一部はファイルまたはテーブルに書き込まれます。

11
Rick James

MySQLログは、次のようなグローバル変数によって決定されます。

設定とログの場所を確認するには、次のシェルコマンドを実行します:

mysql -se "SHOW VARIABLES" | grep -e log_error -e general_log -e slow_query_log

https://stackoverflow.com/a/37685324/470749 で@kenorbに感謝

3
Ryan

Windowsのエラーログを除き、MySQLログはどれも有効になっていません。これは、データベースのサーバーリソースを最大化するためです。そのため、必要に応じてアクティブ化することをお勧めします。

また、どのログが常に有効になっているかを知るのが難しくなる場合もあります。そのため、すべての構成変数を1か所に置いて、すばやく検索できるようにします。これに適したGUIツールがいくつかあります。私は個人的に Navicat for MySQL および Navicat Premium を使用しています。

どちらにも、すべてのサーバー変数を1つの包括的なリストにまとめたタブを含む監視ツールがあります。

general_log and general_log_file server variables in the Navicat Server Monitor tool

宜しくお願いします!

2
Rob Gravelle

はい、MySQLはログファイルを書き込みます。

そのパスは/var/log/mysql.logであり、log_error構成変数で定義されています。

エラーのログファイルもあります/var/log/mysql.err

2
Brijesh Goswami

ここで少し遅れて、

グローバル変数を調べることにより、MYSQL内の現在のログファイルの場所を見つけることができます。

たとえば、以下は、general_logがオンかオフか、およびシステム上のgeneral_log_fileの場所を示しています。

SHOW GLOBAL VARIABLES LIKE '%general%';
1
Jon

ターミナルで以下のコマンドを実行して、正確なパスを見つけます。

 mysqladmin variables | grep log_error
1
Sachin Singh

通常、ログファイルは/var/log/にあります。 MySQLサーバーのログファイルは通常、mysql.nameOfLogFileによって識別されます。

1
Hector