Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Для каждого приложения встраиваемого сервера каталог исполняемого файла вашего приложения становится корневым каталогом этого приложения встраиваемого сервера. Для выполнения встроенной инсталляции с вашим приложением сделайте следующее:
* скопируйте fbembeded.dll в каталог приложения и переименуйте в fbclient.dll или в gds32.dll в соответствии с тем, какое имя клиентского файла требуется вашей программе связи с базой данных;
* скопируйте файлы firebird.msg, firebird.conf и aliases.conf в тот же каталог;
* если вы собираетесь использовать алиасы базы данных (рекомендуется), то скопируйте aliases.conf в каталог приложения (домашний каталог, home directory) и сконфигурируйте его для этого конкретного приложения;
* если внешние библиотеки требуются для вашего приложения, такие как поддержка интернациональных языков (fbintl.dll), библиотеки UDF или библиотеки Blob - фильтров, создайте для них соответствующие каталоги (../intl, ../UDF) непосредственно внутри каталога вашего приложения и скопируйте туда эти файлы.
Пример структуры встроенной инсталляции
Приведем пример структуры каталогов и содержание файлов конфигурации для инсталлированного приложения встраиваемого сервера:
D:my_appMyApp.exe
D:my_appgds32.dll
D:my_appfbfirebird.conf
D:my_appfbaliases.conf
D:my_appfbfirebird.msg
D:my_appfbintlfbintl.dll
D:my_appfbUDFfbudf.dll
Файл firebird.conf:
RootDirectory = D:my_appfb
Файл aliases.conf:
MyApplication = D:databasesMyDB.fdb
Другие вещи, которые вам нужно знать
Пользователи
Имя пользователя и пароль по умолчанию
Пользователь SYSDBA имеет все привилегии доступа к серверу. Программа инсталляции создаст пользователя SYSDBA в базе данных безопасности (security.fdb).
Для версий под Windows и версии 1.0.x под Linux пароль masterkey.
! ! !
СОВЕТ. Фактически пароль - masterke, т. к. все символы после восьмого игнорируются.
. ! .
В версии 1.5 и более поздних под Linux инсталлятор в процессе установки генерирует случайный пароль, помещает его в базу данных безопасности и сохраняет в текстовом файле SYSDBA.password. Запомните этот пароль или используйте для доступа к базе данных безопасности, чтобы изменить его на что-нибудь более простое для запоминания.
! ! !
ВНИМАНИЕ! Если ваш сервер совсем не защищен в Интернете, вы должны изменить этот пароль немедленно.
. ! .
Как изменить пароль пользователя SYSDBA
Если вы работаете в Linux или другой системе, которая может выполнять SH- скрипты, измените текущий каталог на ../bin в вашем каталоге инсталляции и найдите скрипт с именем changeDBAPassword.sh. Все, что вам нужно сделать, - это запустить скрипт и ответить на подсказки. Когда вы в первый раз запустите скрипт, вам будет нужно ввести пароль, который инсталлятор записал в файл SYSDBA.password; он находится в корневом каталоге Firebird:
[bin]# sh changeDBAPassword.sh
ИЛИ
[bin]# ./changeDBAPassword.sh
Прямое использование gsec
Следующая процедура будет работать под Windows и Linux. В Linux, чтобы запустить gsec, вы должны войти в операционную систему как суперпользователь (root). Пусть вы решили изменить у SYSDBA пароль с masterkey на icuryy4me (в Firebird 1.5 для Linux инсталлированный пароль не masterkey, он может оказаться совсем невразумительным!). Вам нужно выполнить следующие шаги:
1. Перейдите в окно командной строки на вашем сервере и сделайте текущим каталог, в котором находятся ваши утилиты командной строки. Обратитесь к табл. 1.2-1.5, чтобы определить их положение.
2. Для Windows наберите следующее, рассматривая символы, как чувствительные к регистру:
gsec -user sysdba -password masterkey
Для платформ POSIX наберите:
./gsec -user sysdba -password masterkey
Теперь вы должны увидеть подсказку утилиты gsec:
GSEC>
3. Наберите команду:
GSEC> modify sysdba -pw icuryy4me
4. Нажмите клавишу <Enter>. Новый пароль icuryy4me будет зашифрован и сохранен, a masterkey не будет больше действовать.
5. Теперь завершите программу gsec:
GSEC> quit
Поскольку Firebird игнорирует все символы в пароле после восьмого, icuryy4m будет работать так же, как и icuryy4monkey.
! ! !
СОВЕТ. Полные инструкции по использованию gsec находятся в главе 34.
. ! .
Пользователи и группы в Linux/UNIX
Начиная с Firebird 1.5, пользователь root больше не является пользователем по умолчанию, который может запускать сервер. Это означает, что вам нужно поместить пользователей, не являющихся root, в группу firebird, чтобы предоставить им возможность доступа к базам данных.
Чтобы добавить пользователя (например, sparky) в группу firebird, пользователю root нужно ввести:
$ usermod -G firebird sparky
Теперь sparky может соединиться с базой данных Firebird и начать работу с ней.
Для отображения списка групп, в которых присутствует пользователь, наберите в командной строке:
$ groups
! ! !
СОВЕТ. Пользователю группы firebird могут также понадобиться привилегии чтения и записи ко всем базам данных и привилегии чтения, записи и выполнения ко всем каталогам, где размещаются базы данных.
. ! .
Инструмент администратора
Инсталляционный комплект Firebird не содержит инструментов администратора с графическим интерфейсом. У него есть набор инструментов командной строки (исполняемые программы), которые расположены в каталоге /bin каталога инсталляции Firebird. Их использование подробно описано в части IX.
Отличные инструменты графического интерфейса, доступные для использования на клиентских машинах Windows, слишком многочисленны, чтобы их здесь описать. Небольшое количество графических инструментов написано на Borland Kylix для использования на клиентских машинах под Linux, они находятся на разных стадиях завершения.
Список наиболее известных инструментов администратора для Firebird представлен в приложении 5. Для получения самого последнего списка зайдите на http://www.ibphoenix.com, выберите ссылку Contributed из области загрузки и нажмите на ссылку Administration Tools.
! ! !
СОВЕТ. Вы можете использовать клиентские инструменты администратора в Windows для доступа к серверу Linux и наоборот.
. ! .
Размещение на диске по умолчанию
Таблицы в этом разделе описывают размещение компонентов для Windows и Linux на диске по умолчанию. Информация дается в контексте двух версий:
* версии, предшествующие Firebird 1.5;
* версии Firebird 1.5 и последующие.
Разница является существенной. Версии, предшествующие Firebird 1.5, используют размещение, имена компонентов и ссылки на ресурсы, как и InterBase 6.x и более ранние версии InterBase. Следовательно, не существует возможности запускать и сервер Firebird, и сервер InterBase этих версий на одной и той же машине.
В пересмотре основного кода, который начался с версии 1.5, старые ссылки на постороннюю информацию InterBase были удалены, а многие из главных компонентов были переименованы. Firebird 1.5 дает возможность запускать также и сервер InterBase. Это верно и для Firebird 2.
Табл. 1.2-1.5 показывают, где искать компоненты при стандартной инсталляции после выполнения инсталлятора. Точное расположение может изменяться от релиза к релизу.
Таблица 1.2. Инсталляция Firebird 1.5 для Linux и некоторых платформ UNIX
Компонент Имя файла Размещение по умолчанию Классический сервер fb_inet_server /opt/firebird/bin Программа Lock Manager (только Классический сервер) fb_lock_mgr /opt/firebird/bin Встроенный клиент для Классического сервера libfbembed.so. 1.5.0 /opt/lib Firebird Guardian (только Суперсервер) fbguard /opt/firebird/bin Суперсервер fbserver.exe /opt/firebird/bin Поточный клиент для Суперсервера и Классического сервера libfbclient.so /usr/lib Файл конфигурации firebird.conf /opt/firebird Файл алиасов базы данных aliases.conf /opt/firebird Файл сообщений firebird.msg /opt/firebird Файл сгенерированного пароля SYSDBA.password /opt/firebird База данных безопасности security.fdb /opt/firebird Копия базы данных безопасности security.fbk /opt/firebird Инструменты командной строки isql, gbak, gfix, gstat, gsec, gdef, gpre, qli /opt/firebird/bin Инструмент сервера (только Суперсервер) fbmgr /opt/firebird/bin Скрипты командной строки Различные; обратитесь к файлам README и заметкам по релизу /opt/firebird/bin Скрипт шаблона для Firebird (только Классический сервер) firebird.xinetd /opt/firebird/misc Библиотеки внешних функций (библиотеки UDF) ib_udf.so, fbudf.so /opt/firebird/UDF Библиотека утилиты памяти (используется в ib_udf) libib util.so /opt/firebird/lib Скрипты DDL для библиотек внешних функций ib_udf.sql, fbudf.sql /opt/firebird/UDF Библиотека поддержки интернациональных языков fbintl /opt/fire b ird/i nt! Заметки по релизу Firebird_v15.nnn_ ReleaseNotes.pdf /opt/firebird Другая документация Файлы README no различным темам /opt/firebird/doc Пример базы данных employee.fdb /opt/firebird/sample Заголовочные файлы С ibase.h, iberror.h и др. opt/firebird/includeТаблица 1.3. Инсталляция Firebird 1.5 для 32-битовых платформ Windows