Как установить на LINUX второй экземпляр Firebird
Версии сервера
| 0.9 | 1.0 | 1.5.3 | 1.5.4 | 1.5.5 | 2.0 | 2.0.3 | 2.0.4 | 2.1 | 2.5 | 3.0 |
|---|---|---|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | - | - | - | Да | Да |
Описание
-
Скачиваем linux-снапшот
-
Распаковываем его на сервере, например, сюда: /opt/fb25_26387
-
Входим как root, идём в каталог /etc/xinet.d
-
Копируем файл: 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
}
- Открываем файл /etc/services, добавляем туда строку:
gds_db1 3051/tcp #3051 = номер порта, на котором будет нас "слушать" второй ФБ
- Выполняем перезапуск xinetd:
[root@firebirdG etc]# service xinetd reload
Reloading xinetd: [ OK ]
- Проверяем системный лог: в последних его строках должно быть примерно следующее:
[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
- Проверяем наши права на Главный тестовый файл - таблицу /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
- Выходим из-под 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 никакой роли не играют.
Обсуждение