MySQLのバイナリログの出力を停止する

MySQL AWS

以前「MySQLのバイナリログを自動削除設定を使って削除する」の記事でバイナリログのローテーションする方法をご紹介しましたが、レプリケーションを使っていない場合などはバイナリログ自体を必要としないので、その場合は、バイナリログの出力自体を停止してしまうのも1つの方法です。

現在の設定と容量を確認する

まずは、現在のバイナリログの設定と使用容量を確認しましょう。現在の設定はMySQLにログインして「SHOW GLOBAL VARIABLES LIKE ‘log_bin’;」で表示することが出来ます。ValueがONになっていると有効ということになります。

mysql> SHOW GLOBAL VARIABLES LIKE 'log_bin';
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| log_bin              | ON     |
+-------------------+-------+
1 row in set (0.34 sec)

上記で有効になっている場合は、バイナリログがどのくらい保存されているかも確認しておきましょう。こちらは「SHOW MASTER LOGS;」で表示することが出来ます。

mysql> SHOW MASTER LOGS;
+-------------------+---------------+-------------+
| Log_name         | File_size      | Encrypted |
+-------------------+---------------+-------------+
| binlog.000020 |  27656653 | No              |
+-------------------+---------------+-------------+
1 row in set (0.00 sec)

バイナリログの保存を停止する

停止はmy.cnfを編集することで対応できます。以下のようにコメントアウトされている箇所があるので最後の行の「disable_log_bin」の部分のコメントを削除しましょう。

# Remove the leading "# " to disable binary logging
# Binary logging captures changes between backups and is enabled by
# default. It's default setting is log_bin=binlog
# disable_log_bin

   ↓

# Remove the leading "# " to disable binary logging
# Binary logging captures changes between backups and is enabled by
# default. It's default setting is log_bin=binlog
disable_log_bin

「my.cnf」を編集したらMySQLを再起動してください。

$ systemctl restart mysqld

再起動が完了したら再度「SHOW GLOBAL VARIABLES LIKE ‘log_bin’;」で確認してみましょう。Valueが「OFF」になっていればバイナリログの保存が停止されていることになります。

mysql> SHOW GLOBAL VARIABLES LIKE 'log_bin';
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| log_bin              | OFF    |
+-------------------+-------+
1 row in set (0.02 sec)

サーバーの容量は限られていますので、不要なログなどは抑制・削除して低コストでサーバー運用していきましょう!

それではみなさん、自由なWEBライフをお過ごしください!

タイトルとURLをコピーしました