Страница 1 из 1
Заметка по установке СУБД Firebird
Добавлено: 2009-07-28 14:08:56
princeps
Как-то понадобилось мне для одного приложения установить на freebsd СУБД firebird. Оказалось, что есть пара тонкостей, в связи с чем я решил записать порядок действий и поделиться им с коллегами, авось кому-то пригодится.
Итак.
Вторая версия firebird'а в коллекции портов находится в каталоге /usr/ports/databases/firebird20-server. Попытавшись его собрать, натыкаемся на первые грабли. Как оказалось, компилировать firebird под рутом нельзя. Есть три пути обмана этой штуки:
1) При компиляции указать ключ:
2) Сделать так, чтоб скрипт не вываливался, обнаружив загруженную учетку рута. Для этого в /usr/ports/databases/firebird20-server/Makefile найти строку
Код: Выделить всё
${ECHO_MSG} "==> Please do not build ${PORTNAME} as 'root' because this may cause conflicts with SysV semaphores of running services."; exit 1; fi
И заменить exit на echo или вообще убрать его к чертям.
3) Делать по-правильному, то есть не из-под рута. Для этого рутом надо сделать make, чтобы скачать исходники и компилятор создал нужные ему каталоги. Затем дождаться, когда скрипт вылетит и сделать каталог work доступным на запись всем или сделать юзера, под которым будете собирать, его владельцем. потом уже рутом make install. Примерно так:
Код: Выделить всё
# cd /usr/ports/databases/firebird20-server
# make
....
# chmod 0777 /usr/ports/databases/firebird20-server/work
# su username
$ make
....
$ exit
# make install
....
# make clean
Далее, надо его запустить. Тут тоже есть нюанс. Firebird работает таким образом, что запускает на каждый клиентский запрос один серверный процесс. Соответственно, нужна некая служба, чтобы следила за подключением на его порт и стартовала его всякий раз, когда такое подключение происходит. В других системах есть супер-сервер firebird'а, который этим занимается, однако во фре его, похоже, нету. Однако есть супер-сервер inetd, который может нам помочь. Делаем так:
Добавляем в /etc/inetd.conf:
Код: Выделить всё
gds_db stream tcp nowait firebird /usr/local/bin/fb_inet_server fb_inet_server
Прописываем строку в /etc/services:
Добавляем его в rc.conf:
Перегружаем inetd, подав ему сигнал HUP (kill -HUP inetd)
Или, если не запущен, стартуем:
Код: Выделить всё
echo inetd_enable="YES" >> /etc/rc.conf
/etc/rc.d/inetd start
Собственно, вот.
Re: Заметка по установке СУБД Firebird
Добавлено: 2009-07-28 16:41:03
gloom
мда... и ето поделие в десятке лучших проектов sf.net

Re: Заметка по установке СУБД Firebird
Добавлено: 2009-07-29 9:17:16
princeps
а что с ним не так?
Re: Заметка по установке СУБД Firebird
Добавлено: 2009-09-10 2:12:24
Orcus
Установилась нормально, но при попытке войти
Код: Выделить всё
#gsec -user SYSDBA -password masterkey
cannot attach to password database
unable to open database
Re: Заметка по установке СУБД Firebird
Добавлено: 2009-09-11 9:59:23
princeps
может с правами на какие-нибудь файлы что-нибудь не так?
Re: Заметка по установке СУБД Firebird
Добавлено: 2009-09-14 1:21:06
Orcus
О, спасибо за наводку
После выходных со свежей головой сел, все заработало. Может кому еще понадобится, решение оказалось простым
Код: Выделить всё
chown firebird:wheel /var/db/firebird/security2.fdb
Птичка запускается из inetd, по рутом, а права на базу по умолчанию стояли на пользователя/группу firebird.
Re: Заметка по установке СУБД Firebird
Добавлено: 2009-10-09 18:03:55
playnet
А есть вменяемый запуск без этого отстойного inetd?
Давно уже все норм проги научились быть демонами, и только это... вы... выпендривается.

Re: Заметка по установке СУБД Firebird
Добавлено: 2009-10-09 18:33:24
princeps
playnet писал(а):А есть вменяемый запуск без этого отстойного inetd?
нет.
playnet писал(а):Давно уже все норм проги научились быть демонами, и только это... вы... выпендривается.

Вообще у файрбёрда есть собственный супер-сервер, но его почему-то не портировали на фрю.
Re: Заметка по установке СУБД Firebird
Добавлено: 2009-10-14 19:36:03
Asket
Хотелось бы продолжить тему в плане проверки работоспособности этой Птицы.
У меня такая проблема.
Апач,ПХП, МуСКуЛ, Фаерберд установлены полностью с обновленных портов. Сайт на Джумле с МуСКуЛом работает отлично, а вот скрипты для Фаерберда ведут себя непредсказуемо (2 успешных запуска из 25 попыток). Скрипт подвисает в момент подключения к серверу СУБД: ibase_connect ( string database, string username, string password, string charset). В чем дело понять не могу - по неизвестным причинам перестали писаться логи в firebird.log
Вопрос: Как найти причину этой заморочки?
Re: Заметка по установке СУБД Firebird
Добавлено: 2009-10-15 8:50:57
princeps
Для начала, я полагаю, выяснить причину, почему перестали писаться логи.
PS А зачем оно тебе, если мускул уже есть? И вообще, зачем оно, если есть мускул

Re: Заметка по установке СУБД Firebird
Добавлено: 2009-10-15 18:11:02
Asket
princeps писал(а):Для начала, я полагаю, выяснить причину, почему перестали писаться логи.
Согласен. Каким образом?
princeps писал(а):А зачем оно тебе, если мускул уже есть?
У клиентов установлена прога которая работает корректно только с файрбёрдом.
Re: Заметка по установке СУБД Firebird
Добавлено: 2009-10-15 19:33:16
Asket
С помощью IBConsole установил устойчивое удаленное соединение с базой на сервере (сервер на FreeBSD70). В этот момент увидел процессы на серваке:
root 1091 0.0 0.1 5124 2364 ?? I Wed02PM 0:00.03 /usr/local/bin/fb_lock_mgr
firebird 26019 0.0 0.2 22136 6244 ?? Ss 7:03PM 0:00.01 fb_inet_server
Это наибольшее, чего мне удалось достигнуть. Никакие другие проги с базой не конектятся. Локально на серваке скрипты типа:
<?php
$conn = ibase_connect("localhost:/usr/db/firebird/data/library.gdb","READER","1");
?>
не проходят. А в логах файрберда изредка появляется:
INET/inet_error: read errno = 54
И я в полной тупике.
Re: Заметка по установке СУБД Firebird
Добавлено: 2009-10-15 20:24:43
princeps
Asket писал(а):Согласен. Каким образом?
1) проверить права
2) Увеличить уровень логгирования
Без логов, я полагаю, ничего не получится
Re: Заметка по установке СУБД Firebird
Добавлено: 2011-03-15 18:55:28
surycat
Здравствуйте
У меня freebsd 8, установил fb21 по первому посту. Собирал пакет используя второй вариант. Больше ничего недокидал, недотачивал
Все установилось, настроил inetd, базу установил, запустил, работаю.
Но как то она непонятно подвисает, хотя ни проц ни винт не нагружены.
Вопрос: может я что-то не сделал, недокинул (либы например), можете подсказать?
Re: Заметка по установке СУБД Firebird
Добавлено: 2011-03-17 16:15:10
princeps
По той информации, что вы дали - вряд ли

Подвисает в каком смысле? может с сетью траблы? В логах что-нибудь есть?
Re: Заметка по установке СУБД Firebird
Добавлено: 2011-03-18 3:15:47
surycat
Вроде все решилось... правда не знаю, что именно помогло
Установил fbsd 8.2 i fb 2.1.3 с пакета, еще раз backup/restore и несколько индексов, проанализировав запросы.
Re: Заметка по установке СУБД Firebird
Добавлено: 2011-08-29 9:16:22
dimidrol80
Вобщето firebird при сборке сам запрашывает пароль рута
1 шаг да надо сделать make из под рута
2 chmod 777 /usr/ports/databases/firebird20-server/
3 из под пользователя make install clean и при инстале идет запрос пароля root
По поводу clasic server Да под фри нет супер сервера.
Clasic намного лутше по поводу того самого разпаралеливания для каждого подключения создается свой процес
который и обрабатывается отдельно от остальных потоков своим ядром CPU выиграш заметен на многоядерных системах
По сравнению с super serverom.
(Free Bsd 7.1 firebird 1.5.4)
Есть правда тоже недостаток плохо работает с ZFS производительность ухудшается почти в 2 раза (хотя может я неправильно настраивал zfs)
Так что если firebird то UFS
Re: Заметка по установке СУБД Firebird
Добавлено: 2011-09-22 13:46:29
arkan
gds_db stream tcp nowait firebird /usr/local/sbin/fb_inet_server fb_inet_server
в inetd.conf
ver 2.5.0.1
Re: Заметка по установке СУБД Firebird
Добавлено: 2011-09-23 7:40:49
arkan
кстати и зачем вообще что то прописывать в inetd.conf для ver 2.5.0.1 я так и не понял
вроде вообще ни чего не надо, только подправить makefile
Re: Заметка по установке СУБД Firebird
Добавлено: 2013-04-08 22:05:03
risk94
все зависит от методов сборок и версий
Re: Заметка по установке СУБД Firebird
Добавлено: 2013-06-05 9:15:56
princeps
чуваки, заметко писалось в 2009 году, 4(!) года назад. Вполне возможно, что с тех пор всё изменилось.