Learn how to install Firebird Database Server on CentOS 8 with our step-by-step guide. Ensure a secure and efficient setup for your database needs on CentOS 8. #centlinux #linux #firebird
Table of Contents
What is Firebird Database?
Firebird is an open source RDBMS (Relational Database Management System). Firebird is originally a fork of Borland’s open source edition of Interbase in 2000, but since then Firebird code has been changed a lot.
Furthermore, you should be aware that Firebird 3 won’t open databases that were created by older versions. So before taking down your existing setup, you should back up all your databases in order that you can restore them later under Firebird 3.
Firebird Database Features
Some of the notable features of FireBird database are:
- Full support for stored procedures and triggers
- Referential integrity
- Full ACID compliant transactions
- Support for External Functions
- Careful writes – fast recovery, no need for transaction logs
- Incremental backups
- Full cursor implementation in PSQL
- Third-party tools, including GUI administrative tools and replication tools
Recommended Online Training: Learn Bash Shell in Linux for Beginners
Linux Server Specification
We are using a KVM based CentOS 8 virtual machine with following specification.
- CPU – 3.4 Ghz (2 cores)
- Memory – 2 GB
- Storage – 20 GB
- Operating System – CentOS Linux 8.1
- Hostname – firebird-02.centlinux.com
- IP Address – 192.168.116.206 /24
Update Linux Software Packages
Connect with firebird-02.centlinux.com as root user by using a ssh tool.
Update Linux software packages by using the dnf command.
# dnf update -y
Install LibTomMath on CentOS 8
Firebird database requires LibTomMath library, a free open source portable number theoretic multiple-precision integer library.
LibTomMath package is not available in standard yum repositories. Therefore, we need to install the EPEL (Extra Packages for Enterprise Linux) first.
# dnf install epel-release -y
Build cache for EPEL and other yum repositories.
# dnf makecache CentOS-8 - AppStream 4.0 kB/s | 4.3 kB 00:01 CentOS-8 - Base 3.3 kB/s | 3.9 kB 00:01 CentOS-8 - Extras 1.7 kB/s | 1.5 kB 00:00 Extra Packages for Enterprise Linux Modular 8 - 4.1 kB/s | 6.6 kB 00:01 Extra Packages for Enterprise Linux 8 - x86_64 5.5 kB/s | 6.7 kB 00:01 Metadata cache created.
We can now install LibTomMath library from EPEL repository by using dnf command.
# dnf install -y libtommath
Install Firebird Database Server on CentOS 8
Firebird 3.0.5 is the latest stable release that is available at the time of this writing. Downloads are available for various platforms in this page, so you can download Firebird for your respective operating system.
Copy the link of the Firebird compressed tarball and download it by using wget command.
# wget https://github.com/FirebirdSQL/firebird/releases/download/R3_0_5/Firebird-3.0.5.33220-0.amd64.tar.gz --2020-05-11 01:55:07-- https://github-production-release-asset-2e65be.s3.amazonaws.com/54005538/16a06c80-331a-11ea-92da-1c925f600370?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20200510%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200510T205508Z&X-Amz-Expires=300&X-Amz-Signature=2a96bb0157c8e155b02158bedc67321caa798088b10c76497fdf998eb65f5d8d&X-Amz-SignedHeaders=host&actor_id=0&repo_id=54005538&response-content-disposition=attachment%3B%20filename%3DFirebird-3.0.5.33220-0.amd64.tar.gz&response-content-type=application%2Foctet-stream Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 52.217.18.156 Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.217.18.156|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 8561290 (8.2M) [application/octet-stream] Saving to: âFirebird-3.0.5.33220-0.amd64.tar.gzâ Firebird-3.0.5.3322 100%[===================>] 8.16M 663KB/s in 18s 2020-05-11 01:55:27 (466 KB/s) - âFirebird-3.0.5.33220-0.amd64.tar.gzâ saved [8561290/8561290]
Extract downloaded tarball using tar command to install Firebird on Linux..
# tar xf Firebird-3.0.5.33220-0.amd64.tar.gz
We can install Firebird database by using install.sh script. But during Firebird installation, we have encountered following errors.
/opt/firebird/bin/gsec: error while loading shared libraries: libtommath.so.0: cannot open shared object file: No such file or directory
and
/opt/firebird/bin/gsec: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
The reason behind the above errors is that the Firebird is looking for older versions of these libraries, while in CentOS 8 the new versions of these libraries has been installed.
To overcome these issues, we simply create the softlinks to the new version of these shared libraries.
# ln -s /usr/lib64/libtommath.so.1.1.0 /usr/lib64/libtommath.so.0 # ln -s /usr/lib64/libncurses.so.6.1 /usr/lib64/libncurses.so.5
Now, go to Firebird setup directory and start installation.
# cd Firebird-3.0.5.33220-0.amd64/ # ./install.sh Firebird 3.0.5.33220-0.amd64 Installation Press Enter to start installation or ^C to abort Extracting install data Updated /etc/services Please enter new password for SYSDBA user: Str0ngPa55word Install completed
Installer creates a systemd service for Firebird database. The Firebird database engine is run in Superserver mode by default. However, you can customize it by using /etc/firebird/firebird.conf configuration file. For more basic information about Firebird database, we recommend you to read The Firebird Book Second Edition: Volume 1: Firebird Fundamentals (PAID LINK) by Helen Borrie.
Check the status of the Firebird database service.
# cd # systemctl status firebird-superserver.service â firebird-superserver.service - Firebird Database Server ( SuperServer ) Loaded: loaded (/usr/lib/systemd/system/firebird-superserver.service; enabl> Active: active (running) since Mon 2020-05-11 02:07:57 PKT; 2min 21s ago Process: 27710 ExecStart=/opt/firebird/bin/fbguard -pidfile /var/run/firebir> Main PID: 27712 (firebird) Tasks: 4 (limit: 5916) Memory: 2.0M CGroup: /system.slice/firebird-superserver.service ââ27711 /opt/firebird/bin/fbguard -pidfile /var/run/firebird/firebi> ââ27712 /opt/firebird/bin/firebird May 11 02:07:57 firebird-02.centlinux.com systemd[1]: Starting Firebird Databa> May 11 02:07:57 firebird-02.centlinux.com systemd[1]: firebird-superserver.ser> May 11 02:07:57 firebird-02.centlinux.com systemd[1]: firebird-superserver.ser> May 11 02:07:57 firebird-02.centlinux.com systemd[1]: Started Firebird Databas>
Installer does not include the Firebird binaries directory in the PATH environmental variable. We need to do it by ourselves.
Edit .bash_profile of root user.
# vi ~/.bash_profile
Locate PATH variable and update it as follows.
PATH=$PATH:$HOME/bin:/opt/firebird/bin/
Save and exit.
We need to execute .bash_profile once, to update PATH environment variable for current session.
# source ~/.bash_profile
Check version of Firebird database.
# firebird -z Firebird TCP/IP server version LI-V3.0.5.33220 Firebird 3.0
If you are planning to access your FireBird database server across the network, then you have to enable the FireBird default service port in Linux firewall.
# firewall-cmd --permanent --add-port=3050/tcp success # firewall-cmd --reload success
We have successfully install Firebird on Linux server.
Basic Firebird SQL Commands
Connect to sample Firebird database i.e. employee by using isql command as sysdba user.
# isql -u sysdba -p Str0ngPa55word employee Database: employee, User: SYSDBA SQL>
We can list database users by using following command.
SQL> show users; Users in the database 1 #SYSDBA
Currently, we have only one user in the database, that is why the command provided a single user list.
Check the version of iSQL and Firebird database.
SQL> show version; ISQL Version: LI-V3.0.5.33220 Firebird 3.0 Server version: Firebird/Linux/AMD/Intel/x64 (access method), version "LI-V3.0.5.33220 Firebird 3.0" on disk structure version 12.0
List down the tables in the employee database.
SQL> show tables; COUNTRY CUSTOMER DEPARTMENT EMPLOYEE EMPLOYEE_PROJECT JOB PROJECT PROJ_DEPT_BUDGET SALARY_HISTORY SALES
Query data from COUNTRY table by using SELECT statement.
SQL> select * from country; COUNTRY CURRENCY =============== ========== USA Dollar England Pound Canada CdnDlr Switzerland SFranc Japan Yen Italy Euro France Euro Germany Euro Australia ADollar Hong Kong HKDollar Netherlands Euro Belgium Euro Austria Euro Fiji FDollar Russia Ruble Romania RLeu
Our CentOS 8 based Firebird database server is working fine.
Final Thoughts
In conclusion, installing Firebird Database Server on CentOS 8 can greatly enhance your data management capabilities with its robust performance and flexibility. Whether you’re setting up a new database or migrating an existing one, Firebird offers the features and reliability you need for your applications.
If you need expert guidance on this process, I offer a detailed service on “How to Install Firebird Database Server on CentOS 8.” With my assistance, you can ensure a smooth and efficient installation, tailored to your specific requirements.
Visit my Fiverr profile to learn more and book my service: Red Hat Certified Engineer
Thank you for considering my service, and I look forward to helping you achieve a seamless database setup!