MySQL - クエリログ、バイナリログ、エラーログ、スロークエリログ

1. エラーログ

エラー ログは、MySOL の最も重要なログの 1 つです。mvsald の起動時と停止時、サーバーの実行中に重大なエラーが発生したとき、データベースに障害が発生して正常に使用できなくなったとき、関連情報が記録されます。最初にこのログを確認することをお勧めします。
ログはデフォルトで有効になっており、デフォルトでディレクトリ /var/log/ に保存され、デフォルトのログ ファイル名は mysqld.log です。ログの場所を表示:

エラーログパスディレクティブの表示

show variables like '%log_error%';

ここに画像の説明を挿入

2. バイナリログ

バイナリ ログ (BINLOG) には、すべての DDL (データ定義言語) ステートメントと DML (データ操作言語) ステートメントが記録されますが、データ クエリ (SELECT、SHOW) ステートメントは含まれません。役割: 0. 災害時のデータ復旧、@.MySOL のマスター/スレーブ レプリケーション。MySQL8 バージョンでは、デフォルトのバイナリ ログが有効になっており、関連するパラメータは次のとおりです。

バイナリログパスディレクティブを表示する

show variables like '%log_bin%'

バージョン 5.7 はデフォルトでは有効になっていません
ここに画像の説明を挿入
ログ形式の表示

show variables like '%binlog_format%'.
ログ形式 意味
声明 SQL文を記録するSQL文に基づくログレコードと、データを変更するSOLがログファイルに記録されます。
RCW 行ベースのログ記録では、各行のデータ変更が記録されます。(デフォルト)
混合 STATEMENT 形式と ROW 形式の混合。デフォルトでは STATEMENT が使用されます。特殊な場合には、記録のために自動的に ROW に切り替わります。

バイナリログを確認してください

mysqlbinlog [参数选项] logfilename

ここに画像の説明を挿入
ログの削除
多忙な業務システムでは、毎日生成されるバイナリログデータが膨大で、長期間消去しないと大量のディスク容量を占有します。ログは次の方法でクリーンアップできます。

命令 意味
reset master すべての binlog ログを削除します。削除後、ログ番号は binlog.000001 から再開されます。
purge master logs tR 'binlog' **** **** 番号より前のログをすべて削除します
purge master logs before 'yyyy-mm-dd hh24:mi:ss' ログが「yyyy-mm-dd hh24:mi:ss」になる前に生成されたすべてのログを削除します。

3. ログのクエリ

クライアントのすべての操作ステートメントはクエリ ログに記録されますが、バイナリ ログにはデータをクエリするための SQL ステートメントは含まれません。デフォルトでは、クエリログは無効になっています

クエリログアドレスの表示

show variables like '%general%';

ここに画像の説明を挿入
クエリログを有効にする

MySQL 構成ファイル /etc/my.cnf ファイルを変更し、次の内容を追加します。

#该选项用来开启查询日志 , 可选值 : 0 或者 1;0代表关闭,1代表开启
general_log=1
#设置日志的文件名,如果没有指定,默认的文件名host_name.log
general_log_file=mysql_query.log

4. スロークエリログ

低速クエリ ログには、実行時間がパラメータ長いクエリ時間の設定値を超え、スキャンされたレコードの数が最小検査行制限以上であるすべての SQL ステートメントのログが記録されます。デフォルトでは無効になっています。long_query 時間のデフォルトは 10 秒で、最小値は 0 で、精度はマイクロ秒に達することがあります。

スロークエリログアドレスクエリ

    show global variables like ‘%slow_query_log_file%’

構成パラメータ

MySQL 構成ファイル /etc/my.cnf ファイルを変更し、次の内容を追加します。

#慢查询日志
slow_query_log=1
#执行时间参数
long_query_time=2

デフォルトでは、管理ステートメントはログに記録されず、検索にインデックスを使用しないクエリもログに記録されません。
この動作は、以下で説明するように、log_slow_admin_statements とインデックスを使用しないログ クエリを使用して変更できます。

#记录执行较慢的管理语句
log_slow_admin_statements =1
#记录执行较慢的未使用索引的语句
log_queries_not_using_indexes = 1

おすすめ

転載: blog.csdn.net/qq_46645840/article/details/129026455