- Setting up Firebird on Ubuntu Linux
- Rodney Gedda
- Adrian Marius Popa
- Setting up Firebird on Ubuntu Linux
- Словарик по FireBird
- Инструменты пользователя
- Инструменты сайта
- Боковая панель
- Введение
- Статьи и часто задаваемые вопросы
- Установка и настройка
- Обработка ошибок
- Полезные запросы SQL
- Тематические группы
- Содержание
- Установка firebird на Linux
- Ubuntu
- RedHat, Mandriva, Debian
- Debian 7 wheezy
- Обсуждение
- Firebird под Linux
- 1. Введение
- 1.1. Почему я написал это?
- 1.2. Copyright и предупреждения
- 1.3. Почему я должен использовать Firebird?
- 2. Установка Firebird
- 2.1. Где я могу взять Firebird?
- 2.2. Какую версию я должен скачивать?
- 2.3. Системные требования
- 2.4. Установка Firebird
- 3. Начало работы с Firebird
- 3.1. Утилиты администрирования
- 3.1.1. Администратор безопасности gsec
- 3.1.2. isql Interactive SQL
- 3.2. Создание вашей первой базы данных
- 3.3. Добавление пользователей и ролей
- 3.4. Тестирование базы данных
- 4. Дополнительные ссылки
Setting up Firebird on Ubuntu Linux
Rodney Gedda
Adrian Marius Popa
8 February 2013 – Document version 2.5
Table of Contents
Setting up Firebird on Ubuntu Linux
This article describes the process of installing and running Firebird on Ubuntu Linux. It should also work without modification in the Debian GNU/Linux distribution (testing version named Wheezy and unstable version named Sid). Ubuntu is based on Debian core packages. Installing software with Ubuntu is very straightforward and Firebird is no exception. This guide is based on Ubuntu 12.04 LTS “ The Precise Pangolin ” but it can be used with a current supported stable release.
The version of Firebird packaged with Ubuntu “ Precise Pangolin ” is 2.5.1 and is included by default . For stable Ubuntu releases there is a Firebird stable ppa repository from where you can install the stable versions latest LTS and current stable .
With administrator privileges on the target machine, issue the following command:
Apt’s dependency tracking will automatically propose all the packages required for a complete installation with the following output:
The packages will then download and install on the target machine. A new user “ firebird ” will be created to run the server, but the server will not yet be started by default:
If you want Firebird to start automatically, run dpkg-reconfigure on the package and click the Yes button. Then you will be asked again for the SYSDBA password:
If all goes well, Firebird Superserver will be started:
If you’re a seasoned Unix person but new to Ubuntu, you might be wondering where all the Firebird files are residing in the directory hierarchy. To see where all the files were installed by Apt, simply do:
As mentioned, a new user “ firebird ” is created on the target machine.
Now you can switch to the firebird user with the su command if required.
Install the examples and dev files:
The example databases will wind up in the directory tree /usr/share/doc/firebird2.5-examples/examples/empbuild/ .
Now you can test your Firebird installation by connecting to an example database. Decompress the employee.fdb example database:
Fire up the interactive shell and at the SQL> prompt connect to the employee database using the connect statement:
(replacing SYSDBApassword with the correct password for SYSDBA !)
When you manage to successfully connect to the database you will see the message:
Now, from the SQL> prompt, feel free to browse around the employee database. For instance, you can list the tables and check the server version:
If you want a GUI admin tool, you might check FlameRobin, which is included in the Ubuntu repository. It can be installed with a simple:
If you get an error message like “ Statement failed, SQLCODE = -551 no permission for read-write access to database /var/lib/firebird/2.5/data/employee.fdb ”, then the server process doesn’t have read or write access to the database file. Change the ownership of the database to the user firebird with:
If you’ve made it this far, your Firebird installation on Ubuntu has been a success. Have a nice day!
Источник
Словарик по FireBird
Инструменты пользователя
Инструменты сайта
Боковая панель
Введение
Статьи и часто задаваемые вопросы
Установка и настройка
Обработка ошибок
Полезные запросы SQL
Тематические группы
Содержание
Установка firebird на Linux
Ubuntu
Если вам нужен супер сервер то последнее заменяется на firebird2.5-super нужная версия соответсвенно тоже подбирается с нуждами.
В некоторых версиях еще требуется создать симлинк с /usr/lib/libfbclient.so.что-то_там на /usr/lib/libfbclient.so
RedHat, Mandriva, Debian
С официального сайта http://www.firebirdsql.org/en/downloads/ ставим подходящую сборку сервера FireBird
Устанавливаем сервер Apache и поддержку PHP (как вариант для Mandriva Linux разумно провести установку пакета urpmi task-lamp подробнее см. http://wiki.mandriva.com/ru/Linux-Apache-MySQL-PHP)
После установки серверов FireBird, Apache и PHP подключаем поддержку FireBird через PHP.
Для этого, устанавливаем пакет php-interbase. Если таковой отсутствует в репозитории, нужный пакет можно скачать с RPM-Finder http://rpmfind.net/linux/rpm2html/search.php.
Для этого в строке поиска набрать ‘php-interbase‘, в поле System -ввести операционную систему, например ‘Mandriva‘
Выбрать и установить нужный пакет
Debian 7 wheezy
Заходим под root
Нажмите «yes». Необходимые пакеты будут загружены и установлены на целевую систему. Также будет создан новый пользователь “firebird” для запуска сервера, но сервер пока не будет запускаться автоматически. Для запуска сервера Firebird автоматически при старте системы, запустите настройку dpkg-reconfigure на данном пакете и нажмите “Да” при соответствующем вопросе. Затем вам будет предложено ввести пароль SYSDBA:
После ввода пароля и нажатия «ок» сервер FireBird будет запущен. Теперь скачиваем библиотеку UDF rfunc, заходим на сайт
На этом сайте скачиваем архив rfunc.linux_amd64.tar.gz
Скачиваем программу WinSCP и устанавливаем, затем архив перекидываем на linux. Распаковываем его
Копируем в папку UDF
На этом установка завершена.
Обсуждение
Если коннект локальный есть а внешнего нет, то проверяем следующее
строку localhost:gds_db stream tcp nowait firebird /usr/sbin/tcpd /usr/sbin/fb_inet_server
меняем на 0.0.0.0:gds_db stream tcp nowait firebird /usr/sbin/tcpd /usr/sbin/fb_inet_server
Так же возможна ситуация когда клиент не может подключиться, хотя до этого подключался. Возможно мы достигли предел на количество подключений к серверу inetd
укажем серверу количество подключений (пример)
gds_db stream tcp nowait firebird /usr/local/bin/fb_inet_server fb_inet_server
после nowait установим количество сессий nowait/100
gds_db stream tcp nowait/100 firebird /usr/local/bin/fb_inet_server fb_inet_server
Описание синтаксиса
* Максимальное число порожденных даемонов, которых может создать inetd, может быть задано параметром max-child. Если нужно ограничение в десять экземпляров некоторого даемона, то после параметра nowait нужно задать /10. При задании /0 ограничения на количество экземпляров снимаются.
* Кроме max-child, могут быть задействованы два других параметра, ограничивающих максимальное число соединений от одного источника. max-connections-per-ip-per-minute ограничивает количество соединений от одного IP-адреса в течение минуты, так что значение, равное десяти, будет ограничивать любой заданный IP-адрес на выполнение десяти попыток подключения к некоторому сервису в минуту. Параметр max-child-per-ip ограничивает количество дочерних процессов, которые могут быть одновременно задействованы на обслуживание одного IP-адреса. Эти опции полезны для предотвращения намеренного или ненамеренного расходования ресурсов и атак типа Denial of Service (DoS) на машину.
* В этом поле одно из значений wait или nowait обязательны. max-child, max-connections-per-ip-per-minute и max-child-per-ip опциональны.
* Многопоточный даемон типа stream без ограничений max-child, max-connections-per-ip-per-minute или max-child-per-ip будет определен просто как nowait.
* Тот же самый даемон с ограничением в максимум десять даемонов будет определен так: nowait/10.
* Та же конфигурация с ограничением в двадцать соединений на IP-адрес в минуту и общим ограничением в максимум десять порожденных даемонов выглядит так: nowait/10/20.
* Наконец, пример, описывающий ограничение на 100 даемонов в целом, при этом не более чем по 5 на один IP-адрес, будет выглядеть так: nowait/100/0/5.
Источник
Firebird под Linux
Delphi site: daily Delphi-news, documentation, articles, review, interview, computer humor.
Firebird под Linux
© 2003 Pascal Chong
© 2003 Тимур Бирш , перевод
1.1. Почему янаписал это?
1.2. Copyright и предупреждения
1.3. Почему я должен использовать Firebird?
2. Установка Firebird
2.1. Где я могу взять Firebird?
2.2. Какую версию я должен скачивать?
2.3. Системные требования
2.4. Установка Firebird
3. Начало работы с Firebird
3.1. Утилиты администрирования
3.1.1. Администратор безопасности gsec
3.1.2. isql — Interactive SQL
3.2. Созданиевашей первой базы данных
3.3. Добавление пользователей и ролей
3.4. Тестирование базы данных
4. Дополнительные ссылки
1. Введение
В июле 2000 года Borland (потом Inprise) выпустил исходные тексты их СУБД, Interbase, под лицензией Interbase Public License. Firebird прямой Open Source потомок данной СУБД.
1.1. Почему я написал это?
Мое первое знакомство с Interbase произошло когда я работал в 1999 году в компании продававшей продукты Borland. Я проводил техническую поддержку и кое-какие курсы по Delphi и Interbase шел вместе с Delphi Client/Server. Тогда, я приобрел хорошего друга сходившего с ума по Interbase. Мне это было не совсем интересно, так как я в это время проводил поддержку IBM DB2 и участвовал в бета-тестировании Linux.
Возвращение к Interbase, и его настоящей Open Source инкарнации, Firebird, произошло только недавно. Кто-то в списке рассылке спросил о Open Source СУБД которые могут поставляться вместе с приложениями и кто-то другой подсказал что Firebird. Тогда я вспомнил своего друга и подумал что может быть бы он порадовался увидя что, пишут о его любимой СУБД, вот поэтому я и решил написать данный документ.
1.2. Copyright и предупреждения
This document is free documentation; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This document is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
1.3. Почему я должен использовать Firebird?
Open Source СУБД обычно страдают от двух распространенных недостатков: они большие, такие как PostgreSQL и MySQL или в них не достает возможностей и документации, такие как HypersonicSQL или McKoi.
Firebird имеет относительно небольшой размер, около 2,6Mb в RPM-пакете. Это делает его идеальным для роли “встроенной СУБД” (embedded database), поставляемой с сервером приложений и приложением. В Firebird есть все распространенные функции большинства сформировавшихся СУБД, такие как поддержка хранимых процедур, соответствие SQL-стандарту и др. Если вы работаете с DB2 и PostgreSQL, то их синтакс очень похож и типы данных, работа с данными видимо очень похожа, такие как обязательное включение строк в одинарные кавычки.
При разработке Firebird видимо делался акцент на маленьком размере, быстроте и минимальном администрировании. Это идеально для разработчиков которым нужна БД для хранения, но которые не хотят тратить слишком много времени на настройку БД. В большинстве ситуаций вам не нужны хранимые процедуры или не нужно делать комплексные слияния таблиц. В таких случаях Firebird идеальный компромисс между размером и функциональностью.
2. Установка Firebird
2.1. Где я могу взять Firebird?
Последние версии доступны прямо с IBPhoenix .
2.2. Какую версию я должен скачивать?
На данный момент есть две версии Firebird-сервера которые вы можете скачать:
Firebird Super Server
Firebird Classic Server
В двух словах, отличие между двумя версиями находится в подходе к проектированию. Super Server использует потоки для обслуживания разных клиентов подключающихся к нему в одно время, а Classic Server порождает отдельный процесс для каждого подключения. Статью сравнивающую эти два подхода вы можете найти на IBPhoenix 1 . Выбирать какую версию сервера использовать полностью за вами. Для “встроенных СУБД” с малым количеством пользователей, то нет большой разницы какую вы выберите. Теоретически, для приложений с большим количеством пользователей, Super Server должен работать лучше при уменьшении времени процесса запуска и лучшего совместного использования ресурсов. У меня не было возможности протестировать это в среде с большой нагрузкой, так что я не могу говорить ответственно на данную тему.
Данный документ описывает только Firebird Super Server.
2.3. Системные требования
БД размером 2,5Мб довольно маленькая по размеру, и я полагаю, если у вас работает Linux, то вы сможете без проблем использовать эту БД.
ncurses4 v5.0 или выше;
glibc v2.2 или выше.
Данная конфигурация была протестирована на Probatus Spectra Linux 1.2 которая эквивалентна RedHat v7.3 . Firebird должен работать на любом Linux основанном на RPM-пакетах.
2.4. Установка Firebird
После того как вы скачали RPM-пакет с веб-сайта, войдите в систему как root.
Выполните следующую команду:
# echo localhost.localdomain >>/etc/hosts.equiv
Она добавит localhost в список серверов которые она распознает. Перейдите в директорию где находится скачанный RPM-пакет и выполните следующую команду:
Данная команда установит Firebird и создаст скрипт в директории /etc/init.d который будет запускать Firebird при загрузке системы. Если вы столкнулись с какими-то ошибками, проверьте что у вас установлены ncurses4 и правильная версия glibc.
Занимательно, вы будете извещены что Firebird создаст директорию с именем interbase в директории /opt и установит свои файлы там. Это показывает его наследственность, так как он был основан как-никак на Interbase. Нам нужно что бы бинарные файлы были доступны в масштабе всей системы и для этого мы отредактируем файл /etc/profile , вставив следующие строки:
Сохраните файл, перезапустите сервер и проверьте что Firebird запустился успешно.
3. Начало работы с Firebird
Теперь мы перейдем к работе с примером БД и ознакомлению с утилитами для работы с этой СУБД.
3.1. Утилиты администрирования
По умолчанию учетная запись администратора имеет имя SYSDBA (данное имя пользователя не чувствительно к регистру) и пароль masterkey . Для пользователей предыдущих версий Interbase (и людей которые работали над примером Fish Catalog для Delphi) это видимо очень знакомо. Вы будете использовать данную учетную запись в начале чтобы создавать других пользователей и пример БД.
Доступные утилиты администрирования:
gsec – администратор безопасности. Вы используете данную утилиту командной строки для создания, изменения и удаления пользователей БД, изменения паролей и др.;
isql – Interactive SQL, похожая на утилиты Oracle SQL*Plus и PostgreSQL psql. Вы можете использовать ее для тестирования и выполнения SQL-запросов.
3.1.1. Администратор безопасности gsec
Вам нужно запустить gsec как SYSDBA. Чтобы осуществить это, выполните следующее как root или не-root пользователь:
$ gsec -user sysdba -password masterkey
Это выведет на экран приглашение GSEC> . Вы можете вывести текущих пользователей введя на приглашение “display” :
Сейчас хорошая идея поменять пароль пользователя SYSDBA, так как пароль по умолчанию знают все. Чтобы изменить его мы изменим учетную запись SYSDBA используя следующую команду:
GSEC> modify SYSDBA -pw newpassword
Хорошо, newpassword не совсем стойкий пароль. Вы должны использовать свой, который содержит как цифры так и буквы и они должны чередоваться часто. Но мы не будем здесь этого делать.
3.1.2. isql Interactive SQL
Как упоминалось выше, isql есть аналог psql от PostgreSQL и SQL*Plus от Oracle. Вы можете набрать SQL-команду и получите результат запроса из БД.
Firebird идет с примером БД EMPLOYEE и мы будем использовать ее для тестирования наших SQL-команд. Чтобы начать, выполните следующую команду:
Она подключит вас к БД EMPLOYEE и выведет приглашение SQL> . Вы можете набрать ваши SQL-команды в приглашении. Не забывайте, перед тем как нажать клавишу чтобы выполнить команду, набрать точку с запятой ( ; ) в конце оператора чтобы закончить его.
Для теста, наберите следующую SQL-команду и нажмите
SQL> SELECT emp_no, full_name, job_code, job_country FROM employee;
Это должно вам дать:
Если вы хотите увидеть все таблицы в БД, наберите следующее:
SQL> SHOW TABLES;
Эта команда выдаст вам список всех таблиц в базе данных:
Чтобы выйти из isql, просто введите quit; и нажмите .
3.2. Создание вашей первой базы данных
Пока, мы выполняли наши команды как SYSDBA и использовали примеры идущие с Firebird. Теперь, мы создадим свою БД, создадим пользователя у которого будут права на просмотр и изменение БД, а также попробуем поработать с базой данных.
Чтобы создать нашу БД, нам нужно использовать утилиту isql . Firebird сохраняет свои БД под раздельными файлами и, по соглашению, с расширением .gdb. Помните, это лишь соглашение, так что вы можете сохранить БД с любым расширением которое захотите. Чтобы продемонстрировать это, мы во-первых создадим БД используя пользователя SYSDBA и сохраним ее в директории test в директории содержащейся в переменной окружения $INTERBASE_HOME.
Первое что мы создаем это директорию testdb в /opt/interbase (проверьте, что у вас есть соответствующие права над это директорией), перейдите в нее, затем запустите isql без параметров:
Потом мы выполняем команду CREATE DATABASE:
SQL> CREATE DATABASE ‘firstdb.gdb’ USER ‘sysdba’ PASSWORD ‘masterkey’;
Она создаст файл с именем firstdb.gdb в текущей директории. БД принадлежит SYSDBA. Теперь мы создадим очень простую таблицу SALES и заполним ее данными. Если вы уже знакомы с SQL, то следующие команды будут для вас легкими. Если нет, то вам возможно нужно прочесть стандарт ANSI SQL-92.
Для выхода из isql, просто введите quit; и нажмите .
3.3. Добавление пользователей и ролей
Теперь у нас есть БД, но наверное это не очень хорошая идея, для создания и администрирования всех БД использовать учетную запись SYSDBA. В некоторых случаях, например, если я работаю с несколькими БД принадлежащие другим людям или группам, я возможно захочу чтобы каждому пользователю или группе принадлежала их соответствующая БД, но чтобы они не смогли иметь доступа к другим базам. Другой сценарий может быть потребует создания proxy-пользователя который будет выполнять все операции над БД, но который не будет иметь всех прав суперпользователя SYSDBA.
В данном разделе мы создадим БД пользователей и назначим учетную запись пользователя у которого будут права на просмотр и обновление.
Для этой операции мы используем утилиту gsec . И так, предполагая что мы хотим создать пользователя с именем TestAdmin с паролем testadmin (я знаю, знаю, еще один слабый пароль) и дать ему права на просмотр, модификацию и удаление записей БД firstdb.gdb , мы выполняем следующие команды. Помните, что в пароле используются только первые восемь символов.
$ gsec -user SYSDBA – password masterkey
GSEC> add TestAdmin -pw testadmin -fname FirstDB -lname Administrator
Warning – maximum 8 significant bytes of password used
Дальше, мы открываем БД, создаем роль administrator для БД, назначаем соответствующие права для этой роли, затем разрешаем использовать пользователю TestAdmin эту роль.
$ isql firstdb.gdb -user SYSDBA -password masterkey
Database: firstdb.gdb, User: SYSDBA
SQL> GRANT SELECT, UPDATE, INSERT, DELETE ON sales_catalog TO administrator;
SQL> GRANT administrator TO TestAdmin;
Теперь, мы готовы для тестирования нашей базы данных.
3.4. Тестирование базы данных
Для начала, выйдете из gsec и isql, если вы этого еще не сделали. Мы подключемся к firstdb.gdb как TestAdmin , выполним некоторые запросы, а потом отключимся. Просто чтобы протестировать БД. Команды и их результат показаны ниже:
Если вы столкнетесь с какими-то SQL-ошибками, то вам нужно будет проверить по сслылкам в следующем разделе.
Если все работает, мои поздравления! Ваш Firebird готов к полету! Я все еще изучаю эту СУБД, так что если у вас есть любые советы, критика или что-нибудь новое чтобы вы хотели добавить в эту статью, пожалуйста пишите мне.
4. Дополнительные ссылки
В настоящее время, полные руководства по Firebird доступны только на IBPhoenix CD. Однако для дополнительной информации о его работе или SQL-командам которые он принимает, вы можете обратиться к руководствам от Interbase 6.0 которые доступны с веб-сайта IBPhoenix 2 . Более свежая документация доступна на IBPhoenix CD 3 .
Data Definition Guide;
Embedded SQL Guide;
Там в общем семь руководств и информация видимо достоверная для Firebird судя по моему опыту. Я использовал руководства Operations Guide и Language Reference для многих частей данного документа, а также для своей собственной работы.
Источник