記事ディレクトリ
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