Заметка по установке СУБД Firebird

MySQL/PostgreSQL/SQLite/Oracle/M$SQL/....

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Заметка по установке СУБД Firebird

Непрочитанное сообщение princeps » 2009-07-28 14:08:56

Как-то понадобилось мне для одного приложения установить на freebsd СУБД firebird. Оказалось, что есть пара тонкостей, в связи с чем я решил записать порядок действий и поделиться им с коллегами, авось кому-то пригодится.
Итак.
Вторая версия firebird'а в коллекции портов находится в каталоге /usr/ports/databases/firebird20-server. Попытавшись его собрать, натыкаемся на первые грабли. Как оказалось, компилировать firebird под рутом нельзя. Есть три пути обмана этой штуки:
1) При компиляции указать ключ:

Код: Выделить всё

# make WITHOUT_IPC_CLEANUP=yes install
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:

Код: Выделить всё

gds_db    3050/tcp   #Firebird control
Добавляем его в rc.conf:

Код: Выделить всё

echo firebird_enable="YES" >> /etc/rc.conf
Перегружаем inetd, подав ему сигнал HUP (kill -HUP inetd)
Или, если не запущен, стартуем:

Код: Выделить всё

echo inetd_enable="YES" >> /etc/rc.conf
/etc/rc.d/inetd start
Собственно, вот.
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
gloom
лейтенант
Сообщения: 738
Зарегистрирован: 2008-03-13 16:29:12
Откуда: UA

Re: Заметка по установке СУБД Firebird

Непрочитанное сообщение gloom » 2009-07-28 16:41:03

мда... и ето поделие в десятке лучших проектов sf.net :cz2:

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Заметка по установке СУБД Firebird

Непрочитанное сообщение princeps » 2009-07-29 9:17:16

а что с ним не так?
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

Orcus
проходил мимо
Сообщения: 6
Зарегистрирован: 2009-04-06 3:16:45

Re: Заметка по установке СУБД Firebird

Непрочитанное сообщение Orcus » 2009-09-10 2:12:24

Установилась нормально, но при попытке войти

Код: Выделить всё

#gsec -user SYSDBA -password masterkey
cannot attach to password database
unable to open database

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Заметка по установке СУБД Firebird

Непрочитанное сообщение princeps » 2009-09-11 9:59:23

может с правами на какие-нибудь файлы что-нибудь не так?
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

Orcus
проходил мимо
Сообщения: 6
Зарегистрирован: 2009-04-06 3:16:45

Re: Заметка по установке СУБД Firebird

Непрочитанное сообщение Orcus » 2009-09-14 1:21:06

О, спасибо за наводку :drinks:
После выходных со свежей головой сел, все заработало. Может кому еще понадобится, решение оказалось простым

Код: Выделить всё

chown firebird:wheel /var/db/firebird/security2.fdb
Птичка запускается из inetd, по рутом, а права на базу по умолчанию стояли на пользователя/группу firebird.

playnet
мл. сержант
Сообщения: 75
Зарегистрирован: 2009-07-02 15:33:24

Re: Заметка по установке СУБД Firebird

Непрочитанное сообщение playnet » 2009-10-09 18:03:55

А есть вменяемый запуск без этого отстойного inetd?
Давно уже все норм проги научились быть демонами, и только это... вы... выпендривается. :bad:

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Заметка по установке СУБД Firebird

Непрочитанное сообщение princeps » 2009-10-09 18:33:24

playnet писал(а):А есть вменяемый запуск без этого отстойного inetd?
нет.
playnet писал(а):Давно уже все норм проги научились быть демонами, и только это... вы... выпендривается. :bad:
Вообще у файрбёрда есть собственный супер-сервер, но его почему-то не портировали на фрю.
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

Asket
проходил мимо

Re: Заметка по установке СУБД Firebird

Непрочитанное сообщение Asket » 2009-10-14 19:36:03

Хотелось бы продолжить тему в плане проверки работоспособности этой Птицы.
У меня такая проблема.
Апач,ПХП, МуСКуЛ, Фаерберд установлены полностью с обновленных портов. Сайт на Джумле с МуСКуЛом работает отлично, а вот скрипты для Фаерберда ведут себя непредсказуемо (2 успешных запуска из 25 попыток). Скрипт подвисает в момент подключения к серверу СУБД: ibase_connect ( string database, string username, string password, string charset). В чем дело понять не могу - по неизвестным причинам перестали писаться логи в firebird.log
Вопрос: Как найти причину этой заморочки?

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Заметка по установке СУБД Firebird

Непрочитанное сообщение princeps » 2009-10-15 8:50:57

Для начала, я полагаю, выяснить причину, почему перестали писаться логи.
PS А зачем оно тебе, если мускул уже есть? И вообще, зачем оно, если есть мускул :)
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

Asket
проходил мимо

Re: Заметка по установке СУБД Firebird

Непрочитанное сообщение Asket » 2009-10-15 18:11:02

princeps писал(а):Для начала, я полагаю, выяснить причину, почему перестали писаться логи.
Согласен. Каким образом?
princeps писал(а):А зачем оно тебе, если мускул уже есть?
У клиентов установлена прога которая работает корректно только с файрбёрдом.

Asket
проходил мимо

Re: Заметка по установке СУБД Firebird

Непрочитанное сообщение Asket » 2009-10-15 19:33:16

С помощью 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
И я в полной тупике.

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Заметка по установке СУБД Firebird

Непрочитанное сообщение princeps » 2009-10-15 20:24:43

Asket писал(а):Согласен. Каким образом?
1) проверить права
2) Увеличить уровень логгирования
Без логов, я полагаю, ничего не получится
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

surycat
проходил мимо
Сообщения: 9
Зарегистрирован: 2011-02-12 15:33:26

Re: Заметка по установке СУБД Firebird

Непрочитанное сообщение surycat » 2011-03-15 18:55:28

Здравствуйте
У меня freebsd 8, установил fb21 по первому посту. Собирал пакет используя второй вариант. Больше ничего недокидал, недотачивал
Все установилось, настроил inetd, базу установил, запустил, работаю.
Но как то она непонятно подвисает, хотя ни проц ни винт не нагружены.
Вопрос: может я что-то не сделал, недокинул (либы например), можете подсказать?

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Заметка по установке СУБД Firebird

Непрочитанное сообщение princeps » 2011-03-17 16:15:10

По той информации, что вы дали - вряд ли :)
Подвисает в каком смысле? может с сетью траблы? В логах что-нибудь есть?
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

surycat
проходил мимо
Сообщения: 9
Зарегистрирован: 2011-02-12 15:33:26

Re: Заметка по установке СУБД Firebird

Непрочитанное сообщение surycat » 2011-03-18 3:15:47

Вроде все решилось... правда не знаю, что именно помогло
Установил fbsd 8.2 i fb 2.1.3 с пакета, еще раз backup/restore и несколько индексов, проанализировав запросы.

dimidrol80
рядовой
Сообщения: 38
Зарегистрирован: 2008-06-07 17:50:21
Контактная информация:

Re: Заметка по установке СУБД Firebird

Непрочитанное сообщение dimidrol80 » 2011-08-29 9:16:22

Вобщето 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) :smile:
Есть правда тоже недостаток плохо работает с ZFS производительность ухудшается почти в 2 раза (хотя может я неправильно настраивал zfs)
Так что если firebird то UFS

arkan
ст. прапорщик
Сообщения: 559
Зарегистрирован: 2008-08-03 19:58:13
Откуда: Новосибирск
Контактная информация:

Re: Заметка по установке СУБД Firebird

Непрочитанное сообщение arkan » 2011-09-22 13:46:29

gds_db stream tcp nowait firebird /usr/local/sbin/fb_inet_server fb_inet_server
в inetd.conf

ver 2.5.0.1

arkan
ст. прапорщик
Сообщения: 559
Зарегистрирован: 2008-08-03 19:58:13
Откуда: Новосибирск
Контактная информация:

Re: Заметка по установке СУБД Firebird

Непрочитанное сообщение arkan » 2011-09-23 7:40:49

кстати и зачем вообще что то прописывать в inetd.conf для ver 2.5.0.1 я так и не понял
вроде вообще ни чего не надо, только подправить makefile

risk94
лейтенант
Сообщения: 831
Зарегистрирован: 2007-06-01 19:27:51

Re: Заметка по установке СУБД Firebird

Непрочитанное сообщение risk94 » 2013-04-08 22:05:03

все зависит от методов сборок и версий

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Заметка по установке СУБД Firebird

Непрочитанное сообщение princeps » 2013-06-05 9:15:56

чуваки, заметко писалось в 2009 году, 4(!) года назад. Вполне возможно, что с тех пор всё изменилось.
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru