シェルスクリプトによるバイナリログの選択と消去

シェルスクリプトによるバイナリログの選択と消去

ここに画像の説明を入力してください。

これがメインバイナリログであると仮定し、「mysqld-bin.000002」のバイナリログを消去してディスクの空き容量を確保したいと思います。シェルsciptを使用してこれを実行したいと思います。

答え1

バイナリログ処理(複製)を使用していない場合は、永久に削除できます。

binロギングに関連するすべての/etc/mysql/my.cnf(またはディストリビューションのそれに対応する)構成ステートメントを削除します。たとえば、MariaDB を使用した最近の展開では、次のようになります。

まず、MariaDB / MySQLを停止してください...

service mysql stop

その後、/etc/mysql/my.cnfセクションを削除します。

log_bin                 = /var/log/mysql/mariadb-bin
log_bin_index           = /var/log/mysql/mariadb-bin.index

次に、古いバイナリログファイルを削除します。

rm -fv /var/log/mysql/mariadb-bin*

その後、MariaDB/MySQLを再起動します。

service mysql start

MariaDB/MySQL が停止した状態でこれらの変更を行う必要があります。そうしないと、データが失われる可能性があります。

答え2

到着明らか 手動そしてバイナリログの消去氏名:

PURGE MASTER LOGS TO 'mysqld-bin.000002';

----------

バイナリログファイルの有効期限自動的に指定日数以降 - 設定期限切れのログ日数システム変数
サーバー固有のmy.cnfファイルに主要な設定を追加します。 Unixシリーズシステムでは通常、または/etc/my.cnfにあります/etc/mysql/my.cnf

ファイルを開き、セクションを見つけて[mysqld]希望の日数を指定する設定を追加します。

[mysqld]
...
expire_logs_days=10

変更完了後にリロードデータベース提供する:

/etc/init.d/mysql reload

関連情報