====== Firebird ====== {{:firebird:firebird-logo-90.png|}} Firebird (FirebirdSQL) — кроссплатформенная система управления базами данных (СУБД), работающая на Mac OS X, Linux, Microsoft Windows и разнообразных Unix платформах. Firebird используется в различных промышленных системах (складские и хозяйственные, финансовый и государственный сектора) с 2001 г. Это коммерчески независимый проект C и C++ программистов, технических советников. Среди недостатков: отсутствие кэша результатов запросов, полнотекстовых индексов, значительное падение производительности при росте внутренней фрагментации базы. Над решением этих проблем неустанно работает сообщество. http://www.firebirdsql.org/ Инструмент для проектирования БД: [[ibexpert:ibexpert|IBExpert]] ====== Архитектуры сервера ====== Существует четыре различных взаимозаменяемых архитектуры сервера: * ClassicServer — один процесс на одно соединение; поддержка многопроцессорных машин. * SuperServer — все соединения используют один процесс, меньшие требования к памяти при большем быстродействии; для многопроцессорных машин (до 3.0 для однопроцессорных). * SuperClassic Server — один процесс, но свой поток на каждое соединение. Данная архитектура введена в версии 2.5. * Embedded (встраиваемая) версия — весь движок содержится в одной библиотеке с именем клиентской библиотеки сервера, идеально подходит для однопользовательских систем, не требует инсталляции в Windows. ====== Установка ====== apt-get install firebird2.5-super apt install firebird3.0-server ====== Запуск ====== service firebird2.5-super start service firebird start ====== Настройка ====== По умолчанию сервер использует TCP порт **3050**. ''/etc/firebird/2.5/firebird.conf'' ===== Пароль SYSDBA ===== В этом файле храниться праволь, заданный по умолчанию: # Password for firebird SYSDBA user # # You may want to use the following commands for changing it: # dpkg-reconfigure firebird2.5-super # or # dpkg-reconfigure firebird2.5-classic # # If you change the password manually with gsec, please update it here too. # Keeping this file in sync with the security database is critical for the # correct functioning of the init.d script and for the ability to change the # password via `dpkg-reconfigure firebird2.5-super/classic\' ISC_USER=sysdba ISC_PASSWORD="masterkey" ===== Псевдонимы ===== # ------------------------------ # List of known database aliases # ------------------------------ # # Example Database: # employee.fdb = /usr/share/doc/firebird2.5-common-doc/examples/empbuild/employee.fdb employee = /usr/share/doc/firebird2.5-common-doc/examples/empbuild/employee.fdb ===== Доступ к серверу извне ===== RemoteBindAddress = ===== Изменение пароля sysdba ===== По умолчанию пароль: ''masterkey'' Запуск консоли: gsec -user sysdba -password <ПАРОЛЬ> Внутри консоли: GSEC> modify sysdba -pw <НОВЫЙ ПАРОЛЬ> GSEC> quit ====== Создание резервной копии БД ====== gbak -b ФАЙЛ_БД -user ПОЛЬЗОВАТЕЛЬ -password ПАРОЛЬ ФАЙЛ_РЕЗЕРВНОЙ_КОПИИ_БД Пример скрипта для создания резервной копии нескольких БД: #!/bin/bash DB_BACKUP="/srv/Backup" DB_HOME="/srv/fb" BACKUP_CMD="/usr/bin/gbak -B" USER_PASSWD="-User SYSDBA -Password PASSWORD" BACKUP_EXT=".bac" FILE_TIME_STAMP=`date '+%d'` #День месяца declare -a DB_FILE DB_FILE[1]="db1.gdb" DB_FILE[2]="db2.gdb" DB_FILE[3]="db3.gdb" for n in 1 2 3 do BACKUP_FILE=$DB_BACKUP/${DB_FILE[$n]}_$FILE_TIME_STAMP$BACKUP_EXT $BACKUP_CMD $DB_HOME/${DB_FILE[$n]} $USER_PASSWD $BACKUP_FILE /bin/gzip $BACKUP_FILE -f done ====== Восстановление БД ====== gbak -r ФАЙЛ_РЕЗЕРВНОЙ_КОПИИ_БД -user ПОЛЬЗОВАТЕЛЬ -password ПАРОЛЬ ФАЙЛ_БД ====== Интерактивная оболочка SQL ====== ''isql-fb'' , в [[ms_windows:ms_windows|MS Windows]] ''isql.exe'' ===== Пример соединения с БД ===== connect "СЕРВЕР:ПУТЬ_ИМЯ_ФАЙЛА_БД" user 'ПОЛЬЗОВАТЕЛЬ' password 'ПАРОЛЬ'; ====== Решение проблем ====== ===== Деинсталляция (MS Windows) ===== FIXME unins000.exe /SILENT /NORESTART /SUPPRESSMSGBOXES [[https://stackoverflow.com/questions/695580/how-can-i-perform-a-command-line-uninstall-of-firebird#695672|How can I perform a command line uninstall of Firebird? - Stack Overflow]] ====== Ссылки ====== [[https://www.firebirdsql.org/file/about/firebird-logo-90.png|Логотип]] https://ru.wikipedia.org/wiki/Firebird [[http://www.firebirdsql.org/manual/ru/firebird-database-documentation-ru.html|Документация по СУБД Firebird]] [[http://www.firebirdsql.org/manual/ru/|Документация Firebird]] [[http://www.ibase.ru/develop.htm|iBase.ru : Документация и статьи по InterBase и Firebird]] [[https://www.ibase.ru/ibmyths/|iBase.ru : Мифы о Firebird и InterBase]] [[http://www.ibase.ru/metadata_charset/|Обновление метаданных при переходе на Firebird 2.1]] [[https://habrahabr.ru/post/267647/|Хабрахабр: Разработка → FirebirdSQL используют 11 компаний из списка ТОП-500 России ]] [[https://habrahabr.ru/post/281865/|Хабрахабр: Разработка → Вышел Firebird 3.0]] [[https://habrahabr.ru/post/304462/|Хабрахабр: Разработка → Книга про разработку приложений для Firebird ]] [[https://habr.com/ru/post/476636/|Тюнинг Firebird и Linux для БД размером 691 Гб с 1000+ пользователей / Хабр]] {{tag>DB SQL}}