Если переносите базу простым копированием файлов базы Mysql из папки, к примеру /var/bd/mysq/basa и не перезапустили mysqld – есть вероятность получить такую ошибку.
Got error 127 from storage engine
Перезапускаем mysqld – всё должно работать.
Кстати после копирования обязательно проверяем права на папки и файлы – можно получить ошибку типа:
Can't find file: table.frm
Владельцем файла должен быть юзер под которым работает mysqld – например 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 и как следствие – знаки вопросов.
Ошибка может возникнуть когда мы, к примеру, обновляемся с 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
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 2.1.0 с управлением пользователями через postfixadmin. Соответсвенно база пользователей в mysql. Задача – прозрачно перейти на новый почтовик, с сохранением базы пользователей (пароли, алиасы и т.д.). Проблема только в том, что новый postfixadmin (2.3) имеет другую структуру таблиц базы и просто сделать дамп базы и залить на новой машине не получится. Продолжить чтение →
Ошибка во время работы 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
Проблемы с пингом на 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
Всё будет работать как надо.
Поломался сервер в процессе обновления (месяца три назад наверное) – отказывается грузиться в многопользовательском режиме. Запустил в сингл юзер мод.
Делаю нормальный шелл:
/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
Ну а дальше уже можно спокойно разобратсься в чём дело…
После обновления системы отказался собираться 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 1.3 (Invision Power Board) с установленным модом репутации бывает такая штука – по непонятным причинам некоторым пользователям нельзя изменять репутацию других пользователей.
При попытке изменить репу получаем такое сообщение:
Администратор запретил Вам изменять репутацию других пользователей
Лечится так: проверяем в базе – таблица – memebers, поля – allow_rep, allow_anon – нули поменять на единицы.
В принципе проблема не нова и где только не описана – но продублирую у себя для себя же. :)
В apache 2.2 при по-сути дефолтных настройках апач при запуске ругается:
[warn] (2)No such file or directory: Failed to enable the ‘httpready’ Accept Filter
Лечится так (сорри за почти откровенный копипаст из сети): Продолжить чтение →
Вы уверены что ваш дамп базы который вы складываете в папку для бэкапов пишется в нужной для вас кодировке? Я тоже был уверен но один раз дамп оказался не в той кодировке в которой было нужно (просто не проверял). :) Вместо кирилицы – знаки вопросов. Продолжить чтение →
Есть такая штука – СКУД (система контроля и управления доступом) AS101 от отечественного разработчика которую нам впарили в свое время. Управляет вертушками на проходной, замками на дверях и т.д. работает с проксимити картами, позволяет вести учёт рабочего времени и т.д. В общем сами всё знаете видели. Так вот иногда происходит на этой штуке рассинхронизация базы данных – той, что на БПОСе и той, что в компе на управляющей станции. Сам я эту штуку не особо админю и работает она вполне исправно, но иногда в случае рассинхрона и нарушения обмена данными между БПОСом и станцией управления нужно сделать эту самую экстракцию базы. Продолжить чтение →
Существует фильтр постфикса отсекающий почту пришедшую от хоста у которого нет 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…
Иногда порт собираться отказывается (после обновления или мало чего бывает…)
"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}" >> /etc/make.conf
Правда временами не срабатывает:
LOCALBASE: Undefined variable.
Тогда в make.conf пишем
X11BASE=/usr/local
После этого должно всё собраться нормально.