foreign_key_checks trick

Июнь 3, 2009 от accidentaladmin

«Это должен помнить каждый»

В InnoDB, внешняя ссылка, даже если она not null может не иметь соответствующей записи в соседней таблице.

Если выключить foreign_key_checks, внести изменения в базу, а затем включить foreign_key_checks, то MySQL не проверит консистентность данных (хотя по аналогии с enable/disable indexes следовало бы ожидать противоположного).

Случиться такое может, например, если прервать заливку дампа где-нибудь посередине.

forget about enviroment

Апрель 17, 2009 от accidentaladmin

На окружение полагаться нельзя.

Самая распространённая ошибка, которую я совершаю – забываю о том, что переменные окружения штука эфемерная и то что есть у рута не всегда есть у нормальных пользователей.

То есть если вам дорого ваше время, никогда не полагайтесь в скриптах и конфигах на существование, допустим, $PATH’а.

не mysql, а /usr/local/bin/mysql, не sh, а /bin/sh

Да хранит вас аллах.

даже в munin’е есть что упростить

Апрель 9, 2009 от accidentaladmin

Опция config  у плагинов мунина скорее всего является излишеством, появившимся от того, что кто-то недостаточно долго думал зачем она нужна.

Например, мне понятно зачем там опция autoconf – она дёргается в лучшем случае на старте ноды. Или вообще только при установке.

Из конфига же данные надо брать каждый раз перед тем как сделать fetch, так как могли измениться параметры рисования, лимиты заголовки графиков и прочие маловажные мелочи.

А значит опция нафиг не нужна, ибо это никакая не опция.

Да и формат в fetch и config одинаковый.

munin notifications

Апрель 8, 2009 от accidentaladmin

Текущая проблема номер один: какого хрена мунин шлёт нотификации каждые пять минут, даже если статус не менялся. Ну критикал, ну да, послал бы один раз и забил, так нет же.

О том как пофиксать – в следующих выпусках.

munin и дырки в графиках df

Апрель 6, 2009 от accidentaladmin

В порте munin-node под FreeBSD в модулях df и df_inode кто-то забыл проигнорировать smbfs и cifs. (вместо этого почему-то грепом фильтруются строчки с «//», что странно и глупо.

В результате по куче причин df может окончиться таймаутом, и в графике появится дырка, а на почту прилетит тревожное уведомление.

Чтобы исправить надо в /usr/local/share/munin/plugins/df и df_inode в двух местах добавить smbfs в игнор:

/bin/df -P -t noprocfs,devfs,fdescfs,linprocfs,nfs,smbfs | tail +2 | grep -v «//» | while read i; do

grep можно убрать.

Ноду рестартовать после этого не нужно.