マスター スレーブ レプリケーション用にセットアップされた 1 組の MySQL データベースがあります。奴隷は元気にやっています。
一方、マスターは、私の最善の (自動化された) 努力にもかかわらず、バイナリ ログをため込んでいます。
MySQL の my.cnf ファイルに「expire_logs_days」変数を設定しようとしていますが、何らかの理由で無視されているようです。私の my.cnf ファイルは次のようになります。
[mysqld]
...
log-bin=/var/log/mysql/mysql-bin.log
server-id=1
expire_logs_days=3
log_bin_trust_function_creators=TRUE
sync_binlog=1
[mysqld_safe]
...
しかしSHOW VARIABLES WHERE Variable_Name='expire_logs_days'
、MySQL で実行すると、次の値が返されます。0
私はもう試した:
- MySQL の再起動
- この行を使用して:
expire_logs_days='3'
- 他の my.cnf ファイルを確認しました:
mysqld --help --verbose | grep cnf
- 行を見つけました:
/etc/mysql/my.cnf /etc/my.cnf ~/.my.cnf order of preference
- 私の
my.cnf
ファイルは次の場所にあります/etc/my.cnf
- 他の場所に my.cnf というファイルはありません
SET GLOBAL expire_logs_days=3
MySQL内で動作しますが、それ自体は私の問題を実際には解決しません
そして、それが私がやろうと考えることができるすべてです。手動の PURGE コマンドを実行しましたが、これは問題なく動作しますが、cron を使用して PURGE コマンドを実行しないことをお勧めします (ただし、それを回避する方法がない場合はとにかく実行します)。
誰にもアイデアはありますか?私はほとんどタップされています。
ありがとう。