mysqlでログを削除する方法

PHPz
PHPzオリジナル
2023-04-19 17:19:053435ブラウズ

MySQL は、現在一般的に使用されているリレーショナル データベース管理システムです。しかし、データ量が増加し、システムが実行されると、MySQL の速度が徐々に低下します。このとき、MySQL のパフォーマンスを向上させるために、MySQL のログをクリアする必要があります。データベースのパフォーマンス。

MySQL には、エラー ログ、スロー クエリ ログ、バイナリ ログ、トランザクション ログの 4 つの主要なログがあります。この4種類のうち、クリアしたい場合は細かい部分に注意する必要があります。続行する前に、バックアップを作成することをお勧めします。それでは、MySQL で各ログを削除する具体的な操作を見てみましょう。

1. エラー ログを削除する

MySQL のエラー ログは、主にエラー発生時の情報を記録するために使用され、エラー ログを表示することで、システムの運用中に発生した問題を把握することができます。ログ ファイルが大きすぎてクリアする必要がある場合は、次の操作を行うことができます。

1.1 エラー ログのパスを確認します。

コマンド ラインに次のコマンドを入力します。 SHOW VARIABLES LIKE '%log_error%';

は次の結果を取得します:

##Variable_nameValue ##log_errorご覧のとおり、エラー ログ パスはmysql は /var/log/mysql /error.log です。
/var/log/mysql/error.log

1.2 エラー ログをクリアします

コマンド ラインに次のコマンドを入力します: echo "" > /var/log/mysql/error.log。

それでも空かどうかを確認したい場合は、次のコマンドで空かどうかを確認できます:

tail -f /var/log/mysql/error.log

2. スロー クエリ ログの削除

MySQL のスロー クエリ ログは、長時間実行されたクエリ ステートメントを記録するために使用され、データベースのパフォーマンスの問題を理解するのに役立ちます。ログ ファイルが大きすぎてクリアする必要がある場合は、次の操作を実行できます。

2.1 スロー クエリ ログのパスを確認します。

コマンド ラインに次のコマンドを入力します。 SHOW VARIABLES LIKE '%slow_query%' ;

は次の結果を取得します:

Variable_nameslow_query_logslow_query_log_fileご覧のとおり、MySQL のスロー クエリ ログ パスは /var/log/mysql/mysql-slow.log です。
Value
ON
/var/log/mysql/mysql-slow.log

2.2 スロークエリログをクリアします

コマンドラインに次のコマンドを入力します: echo "" > /var/log/mysql/mysql-slow.log。

ログがクリアされたかどうかを確認する必要がある場合は、次のように入力できます:

tail -f /var/log/mysql/mysql-slow.log

3 . バイナリ ログの削除

MySQL のバイナリ ログは、データベース トランザクション操作を記録するために使用され、データベースのマスター/スレーブ レプリケーションを実行するときに使用されます。バイナリ ログのクリアには特別な注意が必要で、データベースのマスターとスレーブの同期に影響を与えずに操作を実行する必要があります。

3.1 バイナリ ログをオフにする

MySQL 構成ファイル my.cnf で、[mysqld] セクションを見つけて、次のコード行を追加します:

log-bin =mysql-bin #バイナリ ログを有効にする

binlog_format=mixed #Format

server-id=1 #MySQL サーバー ID、一意

バイナリ ログが開かれるように MySQL サーバーを再起動します。バイナリ ログをオフにするには、my.cnf 内の log-bin と binlog_format を変更またはコメント アウトし、MySQL サーバーを再起動する必要があります。

3.2 バイナリ ログをクリアする

マスターとスレーブの同期に影響を与えることなく、次の方法でバイナリ ログをクリアできます。

まず、次のコマンドを使用してバイナリ ログのファイル名と場所を確認します:

SHOW MASTER STATUS;

次の結果が得られます:

ファイル #mysql-bin.000001 ##

バイナリ ログの位置が 107 であることがわかります。

次に、次のコマンドを使用してバイナリ ログをクリアします:

RESET MASTER;

次に、バイナリ ログのファイル名と場所を再度確認します:

SHOW MASTER STATUS;

新しいバイナリ ログの生成が再開されたことがわかります。

なお、操作を行う場合は、MySQL サーバーの通常の業務動作に影響がないことを確認してください。

4. トランザクション ログの削除

MySQL トランザクション ログは、MySQL サーバー内の各トランザクションの実行プロセスを記録する InnoDB エンジン固有のログです。 MySQL サーバー データの回復に使用できます。繰り返しますが、続行する前にバックアップを作成することをお勧めします。

4.1 トランザクション ログ ファイルの表示

MySQL 構成ファイル my.cnf で、[mysqld] セクションを見つけて、次のコード行を追加します:

innodb_log_file_size=1024M #トランザクション ログ ファイルのサイズを設定します
innodb_log_files_in_group=3 #トランザクション ログ ファイルの数を設定します

トランザクション ログが開くように MySQL サーバーを再起動します。トランザクション ログ パスを表示するには、MySQL で次のステートメントを実行できます:

SHOW VARIABLES LIKE '%innodb_log%';

InnoDB のトランザクション ログ ファイル パスを確認できます。

4.2 トランザクション ログのクリア

操作を実行する前に、誤った操作によるデータ損失を防ぐためにバックアップを実行することをお勧めします。

まず、MySQL サーバーを停止し、次にトランザクション ログ ファイルを削除し、最後に MySQL サーバーを再起動する必要があります。 MySQL サーバーを起動すると、MySQL は新しいトランザクション ログ ファイルを自動的に再作成します。

上記は、MySQL の各種ログを削除する操作ですが、誤った操作によるデータの損失を防ぐために、操作を実行する前にバックアップを作成することをお勧めします。

位置 Binlog_Do_DB Binlog_Ignore_DB
107

以上がmysqlでログを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。