Как установить на LINUX второй экземпляр Firebird

Версии сервера

0.91.01.5.31.5.41.5.52.02.0.32.0.42.12.53.0
---------ДаДа

Описание

  1. Скачиваем linux-снапшот

  2. Распаковываем его на сервере, например, сюда: /opt/fb25_26387

  3. Входим как root, идём в каталог /etc/xinet.d

  4. Копируем файл: cp firebird fb25_26387. Открываем файл firebird25_26387 редактором, вносим следующие исправления:

service gds_db1
{
        disable = no
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user                    = firebird
        server          = /opt/fb25_26387/bin/fb_inet_server
}
  1. Открываем файл /etc/services, добавляем туда строку:
gds_db1         3051/tcp  #3051 = номер порта, на котором будет нас "слушать" второй ФБ
  1. Выполняем перезапуск xinetd:
[root@firebirdG etc]# service xinetd reload
Reloading xinetd:                                           [  OK  ]
  1. Проверяем системный лог: в последних его строках должно быть примерно следующее:
[root@firebirdG log]# tail -10 /var/log/messages
Nov  5 01:02:27 firebirdG xinetd[13055]: Exiting...
Nov  5 01:02:27 firebirdG xinetd[13222]: xinetd Version 2.3.14 started with libwrap loadavg labeled-networking options compiled in.
Nov  5 01:02:27 firebirdG xinetd[13222]: Started working: 2 available services
  1. Проверяем наши права на Главный тестовый файл - таблицу /opt/fb25_26387/examples/empnuild/employee.fdb:
ls -la ./examples/empnuild/employee.fdb

В случае получения прав только на чтение суперпользователем:

-r--r--r-- 1 root root 1105920 Nov  5 00:51 ./examples/empbuild/employee.fdb

— немедленно выправляем ситуацию:

chown firebird ./examples/empbuild/employee.fdb
chmod u+w ./examples/empbuild/employee.fdb
  1. Выходим из-под root’a (logout). Работая далее как firebird, переходим в папку нового инстанса и пробуем коннект:
[firebird@firebirdG fb25_26387]$ ./bin/isql localhost/3051:/opt/fb25_26387/examples/empbuild/employee.fdb -user sysdba -pas *******
Database:  localhost/3051:/opt/fb25_26387/examples/empbuild/employee.fdb

SQL> select count(*) from employee;

       COUNT
============
          42

SQL> exit;

ЗЫ-1. ОСОБОЕ внимание хочу обратить на граблю с правами на employee.fdb: с некоторого недавнего времени они при сборке закладываются внутрь .tgz именно такими: -r—r—r—. Если после скачивания снапшота устанавливать его “официальным скриптом” install.sh, то на все файлы будет применена нужная маска прав. Но этому скрипту нельзя указать “свою” папку и “свой порт”. Поэтому я его не запускал. За что и поплатился (см выше “no permission for read-write access to database”).

ЗЫ-2. НЕ трогаем файл firebird.conf - его параметры RemoteServiceName и RemoteServicePort никакой роли не играют.

Источник

Таблоид, SQL.RU

Обсуждение