среда, декабря 16, 2009

MySQL - Failed to open log file (InnoDB)

Никак не мог определиться, сколько хранить логи от mysql и какого объема, места мало, логов много:)
В итоге, остановился на двух днях:
max_binlog_size=500000000
expire_logs_days=2

А пока не определился, место заканчивалось, всё останавливалось.
Логи чистил руками и в конце концов, закончилось, тем, что mysql отказался стартовать.
В файле ошибок:
91211 12:23:40 mysqld started
091211 12:23:40 InnoDB: Started; log sequence number 0 43655
/usr/local/libexec/mysqld: File './mysql-bin.000018' not found (Errcode: 2)
091211 12:23:40 [ERROR] Failed to open log (file './mysql-bin.000018', errno 2)
091211 12:23:40 [ERROR] Could not open log file
091211 12:23:40 [ERROR] Can't init tc log
091211 12:23:40 [ERROR] Aborting

Странные они, разработчики, чем руководствовались, мне не понятно.
Оказывается mysql-bin.index есть, в нем есть ссылка на лог-файл, а файла нет...
Ну нет и ладно, ссылки убил, сделал реиндекс и стартовал бы снова, но нет, не фига, лечится только руками.
можно просто удалить mysql-bin.index, а можно есть обнулить:
echo '' >/var/db/mysql/mysql-bin.index
В обоих случаях нормально стартует.

Комментариев нет: