понедельник, 9 июня 2014 г.

SAMS обрезаем базу

Логи SAMS могут расти очень быстро и поэтому их нужно обрезать.
через веб-интерфейс это часто не получается, приходится делать напрямую

Выключаем SAMS и SQUID

Заходим  в MySQL

mysql -u root -p;

Выбираем базу логов squid

use squidlog;

Удаляем лишнее

delete from cache where date < '2014-01-01';

Оптимизируем

optimize table cache;

Запускаем SAMS и SQUID

SAMS и битые таблицы MySQL

Время от времени мистическим образом крашится таблица squidlog в логах появляется
 MySQL query error: Table './squidlog/cache' is marked as crashed and last (automatic?) repair failed
или ./squidlog/cache' is marked as crashed and should be repaired.
SAMS перестаёт работать.
Как быстро это починить
 Сначала надо проверить таблицу

mysqlcheck --analyze -p squidlog cache

если вывод будет такой:

Error    : Table './squidlog/cache' is marked as crashed and should be repaired
Error    : Table 'cache' is marked as crashed and should be repaired
error    : Corrupt

Пробуем восстановить:

mysqlcheck --repair -p squidlog cache

если видим:

squidlog.cache   OK

то проблема решена 
если нет то пробуем:

mysql -u root -p
use squidlog;
repair table cache;
\q

и ждем результата.
если всё ОК то хорошо если нет то переходим к плану Б

#cd /var/lib/mysql/squidlog
# myisamchk -r -f cache.MYI

если и это не помогло то
mysql -u root -p
use squidlog;
TRUNCATE TABLE cache;

если и это не помогло то опаньки (