У меня есть MM Replication в mysql, и я хочу сжать немного свободного места в коробке, удалив ненужные файлы, я наткнулся на эти mysql-bin
файлы внутри. /var/db/mysql/
Существуют сотни таких файлов, как mysql-bin.000123
, mysql-bin.000223
и т. Д. Я проверил репликацию mysql, выполнив, show master status
и show slave status
они использование некоторых файлов mysql-bin в определенных позициях, но я предполагаю, что все остальные файлы bin являются остатками, которые больше не будут использоваться. В этом случае безопасно ли удалять все эти файлы mysql-bin, кроме тех, на которые в данный момент указывает репликация?
Если удалить безопасно, могу ли я что-нибудь сделать для автоматического удаления этих файлов, если они не используются?
[mysqld] expire_logs_days=3
(и вы должны включить[mysqld]
разделSET GLOBAL expire_logs_days = 3;
из клиента MySQL не примет их. Пример в MySQL Docs: dev.mysql.com/doc/refman/5.5/en/mysqld-option-tables.htmlmysql> SET GLOBAL expire_logs_days = 3;
иexpire-logs-days=3
в/etc/my.cnf
.. Они одинаковы? Это избыточно или нет? Или важно запуститьSET GLOBAL...
потом добавитьexpire-logs-days=..
? Благодарю.PURGE BINARY LOGS BEFORE DATE(NOW());
почему нет нормальных значений по умолчанию для этого? Я нигде, никогда не изменял размер файла журнала до какого-то гигантского размера. У меня было 10,0 ГБ файлов журнала, после выполнения этой команды мой размер папки mysql.bin сократился до 1,6 ГБ.Это действительно зависит от вашей стратегии резервного копирования. Одной из основных причин сохранения двоичных журналов является восстановление вашей базы данных на определенный момент времени. Если ваша база данных дает сбой и требует восстановления, вы должны восстановить последнюю полную резервную копию, а затем воспроизвести двоичные журналы, начиная с позиции полной резервной копии.
Таким образом, если вы делаете полное резервное копирование каждый день, и у вас есть 7-дневные двоичные журналы, вполне вероятно, что вы можете удалить двоичные журналы за последние 4-6 дней. Вы можете контролировать, сколько дней хранятся двоичные журналы с
expire_logs_days
настройкой.Вы можете удалить двоичные журналы, которые вам не нужны, сначала посмотрев, какой самый старый журнал вы хотите сохранить:
а затем в mysql:
источник
Попробуй это:
как сказано в документе :
Это приведет к удалению всех связанных двоичных файлов журнала, которые могут не соответствовать вашим ожиданиям.
источник