|
Firebird SQL server website
Установка Firebird
1. Диски куда будет устанавливаться Firebird
SQL cервер Firebird и любые базы данных которые вы создаете или к которым подключаетесь должны распологаться на жестком диске, который физически подключен к хост-компьютеру. Вы не можете расположить файлы сервера или любой другой базы данных на mapped drive, filesystem share или сетевой файловой системе.
Вы можете подключиться к базе данных расположенной на CD-ROM (в режиме чтения), но вы не можете запустить с него SQL сервер Firebird и не сможете обновить данные в базе.
2. Установочный скрипт или программа
Несмотря на то, что есть возможность установить Firebird простым копированием файлов, такая как "untarring" файла билда или распаковка .zip-файла, но при первой установке очень рекомендуется использование распространяемого комплекта ПО. Исполняемый файл установки под Windows, RPM-пакет (RedHat Package Manager) под Linux и официальный файл tar.gz для других POSIX-платформ.
2.1. Платформа Windows
На серверных версиях Windows — Windows NT, 2000, ХР и Vista сервис Firebird запустится после завершения установки. После перезагрузки вашего компьютера он запустится автоматически.
Несерверные версии Windows — Windows 95, 98 и ME, не поддерживают сервисы. SQL cервер Firebird будет работать как приложение, защищенное другим приложением известное как Guardian. Если серверное приложение по какой-то причине завершилось неправильно, то Guardian попробует перезапустить его.
Копия клиентской библиотеки — fbclient.dll или gds32.dll будет установлена в системную директорию Windows.
2.2. POSIX-платформы
В любом случае прочитайте release notes относящиеся к той версии Firebird которую вы собираетесь устанавливать. В них могут быть значительные отличия от релиза к релизу любой POSIX-совместимой операционной системы, в особенности относящиеся к категории open source. Где возможно, инженеры создающие билды для каждой версии Firebird, документируют любую известную проблему.
Если в вашем комплекте ПО нет копии release notes, то сходите на download-страницу веб-сайта Firebirdи скачайте копию оттуда.
Проще всего осуществить установку с использованием портов. Если порт под Firebird (InterBase) отсутствует его достаточно просто скачать в Интернете и установить в систему. На примере Freebsd. Заходим в /usr/ports/databases/firebird-server-xx (где хх - версия Firebird (InterBase)) и набираем make install. Все должно установиться. После чего аналогично поступаем с /usr/ports/databases/firebird-clientr-xx. В других Unix-овых системах установка через порты примерно такая же.
Если у вас есть дистрибутив Linux поддерживающий установку из RPM-пакетов, то, если необходимо, прочитайте соответствующую документацию для инструкций по использованию RedHat Package Manager'a. В большинстве дистрибутов у вас есть выбор производить ли установку из командной строки или посредством GUI интерфейса.
Для дистрибутивов не умеющих работать с RPM-пакетами и для ряда UNIX систем, используйте комплект „tar.gz". В release notes вы найдете подробные инструкции по установке.
В комплект включены shell-скрипты. В некоторых случаях, в release notes может быть написано чтобы вы изменили эти скрипты и произвели некоторые корректировки.
Для установки из rpm пакета необходимо выполнить следующую команду:
$rpm -Uvh Firebird.x.x.x.rpm
где Firebird.x.x.x.rpm является именем скачанного инсталляционного пакета.
Для установки с использованием пакета в формате tar.gz необходимо выполнить следующее:
$tar -xzf Firebird.x.x.x.tar.gz
$cd install
$./install.sh
Выполнение этих команд приводит к одному и тому же результату - на Linux-машине будет установлен Firebird (InterBase). Вариант с архитектурой SuperServer будет функционировать в виде демона, a Classic - в виде сервиса.
Надо заметить, что приведенный порядок установки годится практически для любой версии Firebird (InterBase). Правда, для различных дистрибутивов Linux могут существовать свои особенности и хитрости при установке, так что лучше посмотреть рекомендации по установке для вашей версии ОС Linux/Unix.
Проверка произведенной установки
Если все работает как было задумано, процесс SQL сервера Firebird должен работать после завершения установки. Он будет запускаться автоматически после каждой перезагрузки компьютера.
На данный момент предполагается, что вы используете для работы с Firebird в сети рекомендуемый протокол TCP/IP.
Протокол IPX/SPX не поддерживается Firebird.
1. Pinging the server
Обычно первую вещь которую вы захотите сделать однажды после установки, это "пропинговать" сервер. Это просто даст вам уверенность в том, что ваша машина видит хост-машину на которой установлен Firebird. Например, если у вашего сервера в домене, который виден вашей машине, IP-адрес 192.13.14.1, то откройте сеанс командной оболочки и введите команду
ping 192.13.14.1
заменив приведенный IP-адрес на реальный IP-адрес вашего сервера.
Помните, если вы подключаетесь к серверу локально, т.е. сервер и клиент находятся на одной машине, то вы можете пропинговать loopback-интерфейс следующим образом:
ping localhost
или: ping 127.0.0.1
2. Проверим, что сервер Firebird работает
После установки SQL сервер Firebird должен работать как сервис под Windows NT/2000/XP или под Linux.
2.1. Windows NT4/2000/XP
Для серверных версий Windows запустите апплет Сервисы из Панели Управления.
Firebird Server и Firebird Guardian На данном рисунке изображен апплет Сервисы под Windows NT 4. Для других версий Windows изображение может быть другим.
Firebird Guardian Если Guardian запущен (как показано на скриншоте) из-за изменений в версиях он может иметь другое имя сервиса.
В Windows 2000 и ХР Guardian скорее для удобства чем необходимость, так как эти две операционные системы имеют средства по отслеживанию и перезапуску сервисов. Но рекомендуется держать Guardian активным для других платформ если SYSDBA не доступен чтобы перезапустить сервер вручную при его остановке по какой-либо причине.
2.2. Windows 9x/ME
Под Windows 9x/ME SQL сервер Firebird должен работать как приложение за которым следит Guardian. Иконка Guardian должна появиться в системном лотке с изображением зеленого цвета. Если иконка мигает или красного цвета, то Guardian или пытается запустить сервер или попытка запуска неудачная.
Если вы использовали инсталяционный пакет который установился, но не запустил автоматически Guardian и SQL сервер Firebird, то вы можете сделать следующее:
- Найдите исполняемый файл программы Guardian (fbguard или ibguard.exe) и создайте для него ярлык который поместите в папку Startup вашего Start Menu;
- Откройте окно Свойства этого ярлыка и перейдите к полю Command line;
- Измените содержимое этого поля на fbguard.exe -a (или ibguard.ex -a)
- Сохраните изменения и закройте окно;
- Щелкните два раза ярлык для запуска Guardian. Guardian в свою очередь запустит fbserver.exe (или ibserver.exe).
Guardian должен автоматически запуститься в следующий раз когда вы будете перегружать ваш компьютер.
2.3. POSIX-совместимые сервера
Используйте утилиту top в командной строке для проверки работающих процессов в интерактивном режиме. Если Firebird работает, то вы должны увидеть один процесс имя которого fbguard (ibguard) (это Guardian), одно главное и может быть дочерние процессы имя которых ibserver или fbserver, которое зависит от используемой вами версии Firebird.
Следующий скриншот показывает вывод команды top, который с помощью команды grep показывает только процессы с именами начинающиеся с символов „fb" или „ib", т.е.
Если вы используете сервер Firebird с архитектурой Classic, то имя процесса gds_inet_server. Для каждого подключения будет один такой работающий процесс. Сделайте так top -A | grep gds чтобы посмотреть их.
Начиная с версии Firebird 2.0 возможны иные названия служб, как fb_inet_server и fb_lock_mgr. Ниже пример для версии Firebird 2.03 Classic Server под Freebsd:
. Другие вещи которые вам понадобятся
1. Сетевой адрес сервера
- Если вы находитесь в управляемой сети, то спросите IP-адрес сервера у вашего системного администратора.
- Если у вас простая сеть из двух машин соединенных кроссовым кабелем, то вы можете выбрать любой IP-адрес для вашего сервера кроме 127.0.0.1 (который зарезервирован для loopback-интерфейса) и конечно IP-адрес для вашей клиентской машины. Если вы знаете "native" IP-адреса ваших сетевых карт и они разные, то вы можете использовать их.
- Если вы планируете испробовать установку сервера и клиента на одной машине, то вы должны использовать loopback-интерфейс — localhost с IP-адресом 127.0.0.1.
Примечание. Под Windows есть возможность подключиться к серверу локально, без использования TCP/IP loopback-интерфейса. Это не TCP/IP-соединение и не thread-safe способ для подключения к серверу локально. Для использования одиночных экземпляров утилит командной строки (gsec, gbak и др.) он работает нормально.
2. Имя пользователя и пароль по умолчанию
Пользователь SYSDBA имеет полный контроль над SQL сервером. Программа установки устанавливает пользователя SYSDBA с паролем masterkey.
На самом деле пароль masterke, так как все символы после восьмого игнорируются.
Если ваш сервер подключен к Интернету, то вы должны поменять пароль немедленно при помощи утилиты gsec.
2.1. Как поменять пароль пользователя SYSDBA
Для запуска gsec вы должны войти в систему как суперпользователь (root в Linux). Предположим вы решили поменять пароль SYSDBA на icuryy4me:
- Войдите к командную оболочку на вашем сервере и перейдите в директорию где расположены утилиты командной строки.
- Наберите следующее (на всех платформах, кроме Windows, команды чувствительны к регистру) gsec -user sysdba -password masterkey
Затем вы увидстс приглашение GSEO
- Наберите следующую команду GSEO modify sysdba -pw icuryy4me
- Нажмите клавишу ENTER. Новый пароль icuryy4me теперь зашифрован и сохранен, а пароль masterkey уже неправильный.
- Теперь выйдете из gsec: GSEO quit
Так как Firebird игнорирует все символы после восьмого, то пароль icuryy4m будет работать как и пароль icuryy4monkeys.
3. Утилита для администрирования
Комплект Firebird не содержит GUI утилиты для администрирования. Он содержит набор утилит командной строки, исполняемые файлы которых находятся в директории bin вашей установки Firebird.
Есть целый ряд отличных GUI-инструментов доступных для использования на клиентских машинах под Windows и их слишком много чтобы описать все здесь.
. Подключение к примеру базы данных
В директории examples вашей установки Firebird есть пример базы данных имя которой employee.gdb (или employee.fdb).
Вы можете использовать данную базу для тестирования и изучения.
Если ваш сервер работает под Windows 9x/ME, то обязательно переименуйте эту базу данных в employee./db для избежания проблем с утилитой System Restore которая использует файлы с расширением .gdb в своих целях. Более подробная информация находится в release notes.
1. Имя сервера и путь
Если вы переместите файл примера базы данных, то будьте уверены что вы перемещаете его на жесткий диск который физически подключен к серверной машине. Совместно используемые ресурсы, mapped drives или (под UNIX) смонтированные файловые системы SMB (Samba) не будут работать. Такие же правила налагаются и на все создаваемые вами базы.
Строка TCP/IP подключения содержит два элемента: имя сервера6 и путь в файловой системе. Ее формат следующий:
• Для Linux-сервера: servername:/filesystem-path/database-file
Например для Linux-сервера или другого POSIX-совместимого сервера с именем serverxyz
serverxyz:/opt/interbase/examples/employee.gdb
• Для Windows-сервера: servername:D:\filesystem-path\database-file
например: serverxyz:С:\Program Files\Firebird\examples\employee.gdb
2. SQL-оператор CONNECT
При подключении к базе данных Firebird всегда требуется чтобы пользователь "вошел" (log in) используя имя пользователя и правильный пароль — известное всем как log-in или login. Любой пользователь, кроме SYSDBA или root (только в POSIX системах) должен иметь права для доступа к объектам базы данных. Для удобства, здесь мы будем использовать SYSDBA с паролем masterkey
.
2.1. Использование isql
Есть несколько разных способов подключиться к базе данных используя isql. Один из них, это запустить isql в ее интерактивной оболочке:
• Перейдите в директорию bin сервера Firebird и в командной строке наберите isql
[root@penguin /root]# cd /opt/interbase/bin
[root@penguin bin]# ./isql
Use CONNECT or CREATE DATABASE to specify a database
SQL> CONNECT "/opt/interbase/examples/employee.gdb" user 'SYSDBA' password 'masterkey';
Находясь в isql убедитесь, что любая команда завершается символом ";". Если вы забудете его, то приглашение поменяется с SQL> на CON> и вы не сможете продолжить пока не наберете этот символ и не нажмете клавишу ENTER.
Although single quote symbols are the „norm" for delimiting strings in Firebird, double quote symbols were used with the database path string in the above example. This is sometimes necessary with some of the command-line utilities where the path string contains spaces. Single quotes should work for paths that do not contain spaces.
И так, isql сообщит вам, что вы подключены:
DATABASE "/opt/interbase/examples/employee.gdb", User: sysdba
SQL>
Теперь вы можете начать работать с базой employee.gdb. Название isql расшифровывается как InteractiveSQL [utility]. Вы можете использовать ее для выборки данных, получении информации о метаданных, создания объектов базы данных, выполнять DDL-скрипты и многое другое.
Чтобы возвратиться в командную оболочку, введите:
SQL> quit;
2.2. Использование GUI-инструмента
GUI-утилиты обычно берут заботу на себя по формированию строки подключения используя имя сервера, путь к БД, имя пользователя и пароль, которые вы вводите в поля ввода. Используйте элементы которые были упомянуты в предыдущем топике.
Некоторые утилиты, что обычно нормально, попросят вас ввести имя сервера и путь одной строкой.
Помните, что имена файлов и команды в Linux и других POSIX-систсмах чувствительны к регистру.
. Создание базы данных используя isql
Есть несколько способов создать базу данных используя isql. Здесь мы рассмотрим простой способ создания базы — интерактивно, но для серьезной работы с БД вы должны использовать DDL-скрипты.
1. Запуск isql
Чтобы создать БД используя интерактивную оболочку isql, у вас должен быть работающий сервер. Запустите командную оболочку и перейдите в директорию bin Firebird и запустите isql следующим образом:
[root®penguin bin]# ./isql
Use CONNECT or CREATE DATABASE to specify a database
2. SQL-оператор CREATE DATABASE
Теперь вы можете создать вашу новую БД интерактивно. Предположим вы хотите создать БД с именем test.fdb и поместить ее в директорию /opt/interbase/data:
SQL> CREATE DATABASE '/opt/interbase/data/test.fdb' page.size 8192 user 'SYSDBA' password 'masterkey';
База данных создастся и после нескольких моментов приглашение вновь появится. Значит так, вы подключены к вашей новой БД и теперь можете создать в ней некоторые тестовые объекты. Чтобы убедиться, что БД создана наберите следующее:
SQL> SELECT * FROM RDB$RELATI0NS;
Экран заполнится большим количеством данных! Этот запрос выбирает все записи из системной таблицы, где Firebird хранит метаданные для таблиц. "Пустая" БД не пустая — она содержит базу данных которая будет использоваться, когда вы будете в ней создавать объекты БД. Чтобы вернуться в командную оболочку наберите:
SQL> quit;
. Client-only установка
Каждая удаленная клиентская машина должна иметь клиентскую библиотеку: libgds.so в POSIX-системах и fbclient (gds32).dll на Windows-клиентах, которая должна быть сходна по версии с SQL сервером Firebird.
Версии Firebird от 1.5 и выше нуждаются в дополнительной клиентской библиотеке с именем libfb.so или fb32.dll, которые содержат полную библиотеку. В таких новых дистрибутивах, имена файлов с символами "gds" используются для совместимости с продуктами сторонних разработчиков, которые нуждаются в данных файлах. Но на низком уровне вызовы переадресуются к правильным функциям в переименованных библиотеках.
Для client-only установки нужно выполнить еще некоторые манипуляции.
1. Windows
Запустите программу установки, как будто вы ставите сервер, но оставьте только опцию "Клиентские компоненты" из предложенного списка
2. Linux и некоторые другие POSIX-совместимые клиенты
Под Linux также не существует компактной программы для client-only установки. Дополнительно, некоторые виды POSIX-систем, даже в созвездии Linux, имеют кое-какие уникальные требования к расположению файлов в файловой системе. Поэтому не все *NIX дистрибутивы Firebird имеют опцию client-only установки.
Для большинства видов Linux, следующая процедура относится к Firebird версиям ниже 1.5. Для этого войдите в систему как root.
- Найдите файл libgds.so.О в директории /opt/interbase/lib на сервере где установлен сервер Firebird. Скопируйте его в директорию /usr/lib на клиенте;
- Создайте для него симлинк7 libgds.so, используя следующую команду: In -s /usr/lib/libgds.so.O /usr/lib/libgds.so
- Скопируйте файл interbase.msg в директорию /opt/interbase;
- В системном профайле или используя вызов setenvQ из шелла, создайте переменную окружения INTERBASEи сделайте ее равной /opt/interbase, чтобы функции API могли найти файл interbase.msg.
|
|