Got error 127 from storage engine | MYSQL

Если переносите базу простым копированием файлов базы Mysql из папки, к примеру /var/bd/mysq/basa и не перезапустили mysqld – есть вероятность получить такую ошибку.

Got error 127 from storage engine

Перезапускаем mysqld – всё должно работать.

Кстати после копирования обязательно проверяем права на папки и файлы – можно получить ошибку типа:

Can't find file: table.frm

Владельцем файла должен быть юзер под которым работает mysqld – например mysql.

Мусор при импорте .sql | MYSQL

Если при импорте дампа базы Mysql получаем в таблице мусор в виде знаков вопроса – проверяем в my.cnf наличие директив skip-character-set-client-handshake и настройки кодировки сервера в my.cnf.

Потому что может быть так:
Делаем дамп на одной машине, смотрим дамп – в дампе все нормально и русский текст читается (или не читается если смотрим в mc к примеру, но ясно что в дампе все в порядке – набор символов, но не знаки вопроса).
Переносим дамп, создаем базу импортируем наш перенесенный дамп. Делаем селект из любой таблицы и видим в качестве символов – знаки вопроса.

Дело в том что по дефолту у вашего сервера может быть не настроена кодировка по умолчанию и вы получите что-то вроде latin1_swedish_ci в таблицах.

Настраиваем my.cnf:

В раздел [mysqld] добавляем:

default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci
init-connect="SET NAMES utf8"
skip-character-set-client-handshake

Теперь если к примеру скрипт установки модуля CMS выполняет запрос добавления таблицы в базу и не указывает явно кодировку (а это часто происходит поскольку модуль должен работать с локальной кодировкой) – то мы получаем таблицы с collation latin1_swedish_ci вместо необходимого нам utf8_general_ci и как следствие – знаки вопросов.

/libexec/ld-elf.so.1: Shared object «libc.so.6″ not found | FreeBSD

Ошибка может возникнуть когда мы, к примеру, обновляемся с 6 ветки на 7-ю. Если в процессе апгрейда после последнего freebsd-update install и удаления старых версий библиотек у нас не собирается порт с ошибкой

/libexec/ld-elf.so.1: Shared object "libc.so.6" not found

Или вообще мы имеем проблемы с библиотеками поскольку старые версии процесс апгрейда поудалял.
Идем в cd /usr/ports/misc/compat6x
и собираем порт совместимости с 6 веткой.

#cd /usr/ports/misc/compat6x #make #make install #make clean

По крайней мере от ошибки /libexec/ld-elf.so.1: Shared object "libc.so.6" not found мы должны избавиться. По такой же логике собираем compat5x при миграции с 5-й ветки.
Кстати не забываем про опцию ядра:

options COMPAT_FREEBSD6 # Compatible with FreeBSD6

Icecast & Monit | IceCast

Monit – неплохая утилита для мониторинга работоспособности процессов на unix сервере, проверки состояния системы и т.д.

Для мониторинга состояния процесса IceCast обязательно проверить секцию <pidfile> там должен быть прописан путь к pid файлу – если его нет (а по дефолту эта строка в конфиге icecast.xml закомментирована) - то пид файл не создается и монит не может проверить запущен ли процесс.

<!– <pidfile>/usr/local/share/icecast/icecast.pid</pidfile> –>

Меняем на:

<pidfile>/usr/local/share/icecast/icecast.pid</pidfile>

У monit привязки к имени процесса нет. Сейчас у меня в конфиге monit название процесса – icecast2, хотя на самом деле процесс называется icecast.

Миграция postfix, postfixadmin | Postfix

Есть старый почтовик на postfix 2.1.0 с управлением пользователями через postfixadmin. Соответсвенно база пользователей в mysql. Задача – прозрачно перейти на новый почтовик, с сохранением базы пользователей (пароли, алиасы и т.д.). Проблема только в том, что новый postfixadmin (2.3) имеет другую структуру таблиц базы и просто сделать дамп базы и залить на новой машине не получится. Продолжить чтение →

missing key: categories: Cannot read the portsdb! | FreeBSD

Ошибка во время работы portupgrade. Пробуем обновить порт – получаем:

missing key: categories: Cannot read the portsdb!

У меня эта ошибка была на FreeBSD 6.2-6.3.

Лечится обновлением самого portupgrade до версии не ниже 2.2. К примеру так:

#cd /usr/ports/; portsnap fetch update; portsnap extract #portupgrade -f portupgrade

Однако есть один момент – если вы не обновляли порты во FreeBSD 6 ветки portupgrade лежит в /usr/ports/sysutils/portupgrade а в более поздних версиях в /usr/ports/port-mgmt/portupgrade

соотественно делаем:

cd /usr/ports/sysutils/portupgrade make deinstall cd /usr/ports/ports-mgmt/portupgrade make install clean

Получим новый (если порты обновили) portupgrade

ping теряет пакеты !.!.! .!.!. | Cisco

Проблемы с пингом на cisco 2600. Всё вроде работает но пинг до некоторых хостов идёт с потерей – 40% 60%.

Выглядит это так (яндекс пингуется ок, а вот гугл или мой дефолтный шлюз прова – нет):

gate2>ping ya.ru Translating "ya.ru"...domain server (195.210.154.151) [OK] Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 87.250.250.3, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 4/4/8 ms gate2>ping google.com Translating "google.com"...domain server (195.210.154.151) [OK] Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 74.125.87.106, timeout is 2 seconds: .!.!. Success rate is 40 percent (2/5), round-trip min/avg/max = 40/40/40 ms gate2>ping google.com Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 74.125.87.106, timeout is 2 seconds: !.!.! Success rate is 60 percent (3/5), round-trip min/avg/max = 40/40/40 ms

А виной тому стало бездумное копирование инструкции из статьи в журнале Системный Администратор за апрель 2009г. :) Настраивая дефолтный шлюз сделал так:

gate2(config)#ip route 0.0.0.0 0.0.0.0 FastEthernet0/0

А для настройки шлюза по умолчанию на ethernet интерфейсе достаточно было только:

gate2(config)#ip route 0.0.0.0 0.0.0.0 195.11.22.44

Итак если у вас в конфиге есть строка типа:

ip route 0.0.0.0 0.0.0.0 FastEthernet0/0

Сделайте:

gate2(config)#no ip route 0.0.0.0 0.0.0.0 FastEthernet0/0

Всё будет работать как надо.

Can’t assign requested address | FreeBSD

Поломался сервер в процессе обновления (месяца три назад наверное) – отказывается грузиться в многопользовательском режиме. Запустил в сингл юзер мод.
Делаю нормальный шелл:

/bin/csh

монтирую все диски:

mount -a

Далее пытаюсь запусить апач и вижу:

Can't assign requested address: make_sock: couldn't bind to address 1.2.3.4 Couldn't open log

То же самое с proftpd.
Оказалось забыл запустить интерфейсы:

/etc/netstart

И до кучи на всякий случай если сервисы не отвечают – смотрите фаерволл:

ipfw show

Если видим одно запрещающее правило открываем доступ:

ipfw add ip allow from any to any

Ну а дальше уже можно спокойно разобратсься в чём дело…

Could not find /usr/ports/misc/ldconfig_compat/bsd.ldconfig.mk | FreeBSD

После обновления системы отказался собираться portupgrade.

Could not find /usr/ports/misc/ldconfig_compat/bsd.ldconfig.mk make: fatal errors encountered -- cannot continue

Решается комментированием строки в Makefile (строка 59):

#.include «${PORTSDIR}/misc/ldconfig_compat/bsd.ldconfig.mk»

Администратор запретил Вам изменять репутацию других пользователей | IPB

В IPB 1.3 (Invision Power Board) с установленным модом репутации бывает такая штука – по непонятным причинам некоторым пользователям нельзя изменять репутацию других пользователей.

При попытке изменить репу получаем такое сообщение:

 Администратор запретил Вам изменять репутацию других пользователей

Лечится так: проверяем в базе – таблица – memebers, поля – allow_rep, allow_anon – нули поменять на единицы.

Failed to enable the ‘httpready’ Accept Filter | Apache

В принципе проблема не нова и где только не описана – но продублирую у себя для себя же. :)

В apache 2.2 при по-сути дефолтных настройках апач при запуске ругается:

[warn] (2)No such file or directory: Failed to enable the ‘httpready’ Accept Filter

Лечится так (сорри за почти откровенный копипаст из сети): Продолжить чтение →

Кодировка дампа базы MYSQL | MYSQL

Вы уверены что ваш дамп базы который вы складываете в папку для бэкапов пишется в нужной для вас кодировке? Я тоже был уверен но один раз дамп оказался не в той кодировке в которой было нужно (просто не проверял). :) Вместо кирилицы – знаки вопросов. Продолжить чтение →

AS101 экстракция базы | Разное

Есть такая штука – СКУД (система контроля и управления доступом) AS101 от отечественного разработчика которую нам впарили в свое время. Управляет вертушками на проходной, замками на дверях и т.д. работает с проксимити картами, позволяет вести учёт рабочего времени и т.д. В общем сами всё знаете видели. Так вот иногда происходит на этой штуке рассинхронизация базы данных – той, что на БПОСе и той, что в компе на управляющей станции. Сам я эту штуку не особо админю и работает она вполне исправно, но иногда в случае рассинхрона и нарушения обмена данными между БПОСом и станцией управления нужно сделать эту самую экстракцию базы. Продолжить чтение →

reject_unknown_client | Postfix

Существует фильтр постфикса отсекающий почту пришедшую от хоста у которого нет PTR записи:

reject_unknown_client

Обычно спам приходит с обычного хоста пользователя напрямую (зомби машина в ботнете рассылающая спам). Хост имеет айпи но не имеет PTR записи в днс зоне. В заголовке при получении такого письма будет:

from DNQRXMB (unknown [188.158.74.251]) by post.firma.ru (Postfix) with ESMTP id 9A891EBD45; Tue, 8 Jun 2010 13:13:23 +0400 (MSD)

или так

from [195.22.34.45] (unknown [195.22.34.45]) by post.firma.ru (Postfix) with ESMTP id 3B81FEBD03; Tue, 8 Jun 2010 16:52:38 +0400 (MSD)

Добавим проверку reject_unknown_client перезапустим постфикс. Теперь постфикс принимать почту от клиентов чей айпи не имеет PTR записи.

Однако. Если ваша машина сидит с маршрутизируемым адресом и вы пытаетесь просто послать почту через ваш сервак и у вашего маршрутизируемого адреса нет PTR записи в зоне – почту сервер не примет:

4.7.1 Client host rejected. Cannot find your hostname, [195.11.22.44]

Аналогичная ситуация может быть (?) если ваш почтовый клиент будет общаться с почтовиком через шлюз без PTR записи, или если ваш сервер без PTR записи пересылает вам на имейл через ваш почтовик с reject_unknown_client в main.conf почту для root или оповещение от службы типа monit…

X11BASE is now deprecated. | FreeBSD

Иногда порт собираться отказывается (после обновления или мало чего бывает…)

"Makefile", line 112: Could not find bsd.port.options.mk

Тогда заходим в /usr/ports/mk и копируем bsd.port.options.mk в /usr/share/mk

Если далее видим:

X11BASE is now deprecated. Unset X11BASE in make.conf and try again.

То по уму, нужно сделать так как советуют у Лиссяры:

echo "X11BASE=${LOCALBASE}" &gt;&gt; /etc/make.conf

Правда временами не срабатывает:

LOCALBASE: Undefined variable.

Тогда в make.conf пишем

X11BASE=/usr/local

После этого должно всё собраться нормально.