Linux
Requirements
- Due to certain dependencies, if installing on a 64-bit operating system (OS), the target system will require >= 512 MB of RAM.
- Python 3.6 - 3.9 (Comes default with Debian 9 - 11, Ubuntu 18.04 - 20.04, Centos 7 - 8, RedHat 7 - 8. All others distros/versions will need to install the correct version beforehand)
Debian
If using Debian 10 then an acceptable version of Python will already be installed. Otherwise, you will need to install a Python version between 3.6 - 3.9 before proceeding.
Our installation script automatically installs SlashDB with support for SQLite, MySQL 8, PostgreSQL as well as MS SQL Server and IBM DB2 databases. Oracle requires a few additional but simple steps - see instructions below. It's recommended to install the package in a separate system because there are a number of system-wide dependencies like NGINX, Memcached, and database clients that are installed.
1. Change to root
sudo su
2. Install MySQL APT repository and SlashDB.
Debian requires adding the MySQL Client Library which is not available in the standard Debian repository. The MySQL APT repository has to be added instead.
Due to an MySQL issue before getting the latest package a new GPG Key has to be also installed.
apt-get update
apt-get install -y wget software-properties-common gnupg
cd /tmp
wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb
DEBIAN_FRONTEND=noninteractive dpkg -i ./mysql-apt-config_0.8.22-1_all.deb
apt-get update
Or follow the instructions at https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en to install MySQL repository and then
3. Download and install the latest DEB package.
apt-get update
wget -c https://downloads.slashdb.com/versions/1.6.46/slashdb_1.6.46_amd64.deb
apt-get install -y ./slashdb_1.6.46_amd64.deb
4. Once installation is complete SlashDB should be accessible at http://your-ip-address
Use command hostname -I
to find what is your IP address.
5. To finish setup see:
Ubuntu
If using Ubuntu 18.04 - 20.04 then an acceptable version of Python will already be installed. Otherwise, you will need to install a Python version between 3.6 - 3.9 before proceeding.
Our installation script automatically installs SlashDB with support for SQLite, MySQL 8, PostgreSQL as well as MS SQL Server and IBM DB2 databases. Oracle requires a few additional but simple steps - see instructions below. It's recommended to install the package in a separate system because there are a number of system-wide dependencies like NGINX, Memcached, and database clients that are installed.
1. Change to root
sudo su
2. Download the latest SlashDB DEB package, update repository and install package.
wget -c https://downloads.slashdb.com/versions/1.6.46/slashdb_1.6.46_amd64.deb
add-apt-repository universe
apt-get update
apt-get -y install ./slashdb_1.6.46_amd64.deb
3. Once installation is complete SlashDB should be accessible at http://your-ip-address
Use command hostname -I
to find what is your IP address.
4. To finish setup see: Logging in for the first time.
Oracle for Ubuntu or Debian
Go to https://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html and download Oracle instant client basic and sqlplus version 19.5 RPMs.
In the folder you should have the files:
- oracle-instantclient-basic-21.6.0.0.0-1.x86_64.rpm
- oracle-instantclient-sqlplus-21.6.0.0.0-1.x86_64.rpm
1. Change to root
sudo su
2. Then covert *.rpm to *.deb packages using alien
apt-get update
apt-get install alien
alien -v oracle-instantclient-*.rpm
When done your folder will contain new files:
- oracle-instantclient-basic_21.6.0.0.0-2_amd64.deb
- oracle-instantclient-sqlplus_21.6.0.0.0-2_amd64.deb
3. Install Oracle DEB packages and setup system environment
apt-get install -y ./oracle*.deb
echo "/usr/lib/oracle/21/client64/lib/" >> /etc/ld.so.conf.d/oracle.conf
ldconfig
echo 'export ORACLE_HOME=/usr/lib/oracle/21/client64' >> /etc/profile.d/oracle.sh
echo 'export PATH=$PATH:$ORACLE_HOME/bin' >> /etc/profile.d/oracle.sh
echo 'export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH' >> /etc/profile.d/oracle.sh
echo 'export NLS_LANG=American_America.UTF8' >> /etc/profile.d/oracle.sh
echo 'export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"' >> /etc/profile.d/oracle.sh
. /etc/profile.d/oracle.sh
If your Oracle server runs inside a docker container and is version 19 or above, you will need to disable the Out Of Band breaks feature. To do that add this line to sqlnet.ora
echo "DISABLE_OOB=ON" >> ~/.sqlnet.ora
4. Add DBAPI
/opt/slashdb/bin/pip install cx-Oracle==8.3.0
5. Finally, restart SlashDB service
systemctl restart slashdb
All done. SlashDB should be able to connect with Oracle databases.
CentOS 7
If using CentOS 7 then an acceptable version of Python will already be installed. Otherwise, you will need to install a Python version between 3.6 - 3.9 before proceeding.
This installation provides SlashDB with support for SQLite, MySQL 8, PostgreSQL, MS SQL Server and IBM DB2 out of the box. Oracle requires a few additional but simple steps - see instructions below.
1. Change to root
sudo su
2. Enable additional required repositories
yum install -y epel-release
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
# disable all mysql repositories
sed -i 's/enabled=1/enabled=0/' /etc/yum.repos.d/mysql-community.repo
# enable only mysql80-community
yum-config-manager --enable mysql80-community
3. Support for PostgreSQL 10+ (optional)
This part can be skipped if you plan to connect to PostgreSQL up to vesion 9.6 or you don't need PostgreSQL support at all.
If you plan to connect to PostgreSQL servers from version 10 than PostgreSQL provided by RHEL 7 is not suitable and newer packages must be installed from official PostgreSQL repository.
The pg_config
v10+ has to be available before installing SlashDB.
Run below command to check if you already have PostgreSQL development package
pg_config | grep VERSION
- if error "command not found" was returned then it means no PostgreSQL client was found you can continue with instruction below to install newer PostgreSQL devel
- if returned VERSION is greater of equal 10 then you can skip the following update
- if returned VERSION is lower than 10 then the below instructions may not be suitable
Follow the instructions below To update PostgreSQL development package.
Add the necessary repositories.
yum install -y centos-release-scl-rh
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Install development package
yum install -y postgresql14-devel
After installation the pg_config
is not linked. Add the missing alternative with command
update-alternatives --install /usr/bin/pg_config pg_config /usr/pgsql-14/bin/pg_config 20
Finally check if pg_config
is right version
pg_config | grep VERSION
Expected output is PostgreSQL version 14.x e.g.
VERSION = PostgreSQL 14.2
All ready, you can install SlashDB package now.
4. Download and install SlashDB package
yum install -y https://downloads.slashdb.com/versions/1.6.46/slashdb-1.6.46.x86_64.rpm
5. Once installation is complete SlashDB should be accessible at http://your-ip-address
Use command ifconfig
to find what your IP address is.
6. To finish setup see:
CentOS 8
If using CentOS 8 then an acceptable version of Python will already be installed. Otherwise, you will need to install a Python version between 3.6 - 3.9 before proceeding.
This installation provides SlashDB with support for SQLite, MySQL 8, PostgreSQL, MS SQL Server and IBM DB2 out of the box. Oracle requires a few additional but simple steps - see instructions below.
1. Change to root
sudo su
2. Use vault repository due to CentOS reaching End-Of-Life
This is optional step. In case you run into problem that yum cannot find repositories e.g.
[root@f8844059eb4e /]# yum repolist
Failed to set locale, defaulting to C.UTF-8
CentOS-8 - AppStream 113 B/s | 38 B 00:00
Failed to download metadata for repo 'AppStream'
Error: Failed to download metadata for repo 'AppStream'
then update mirror list URLs with below commands:
sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-*
sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-*
after that change yum
should be able to fetch metadata of repositroes
[root@c3a011ee9566 /]# yum repolist
Failed to set locale, defaulting to C.UTF-8
Last metadata expiration check: 0:01:46 ago on Mon Aug 8 09:44:37 2022.
repo id repo name status
AppStream CentOS-8 - AppStream 5596
BaseOS CentOS-8 - Base 1896
extras CentOS-8 - Extras 38
3. Enable additional required repositories
yum install -y epel-release
sed -i 's/enabled=0/enabled=1/' /etc/yum.repos.d/CentOS-*PowerTools.repo
4. Download and install SlashDB package
yum install -y https://downloads.slashdb.com/versions/1.6.46/slashdb-1.6.46.x86_64.rpm
5. Once installation is complete SlashDB should be accessible at http://your-ip-address
Use command ifconfig
to find what your IP address is.
6. To finish setup see:
RedHat 7
If using RedHat 7 then an acceptable version of Python will already be installed. Otherwise, you will need to install a Python version between 3.6 - 3.9 before proceeding.
This installation provides SlashDB with support for SQLite, MySQL 8, PostgreSQL, MS SQL Server and IBM DB2 out of the box. Oracle requires a few additional but simple steps - see instructions below.
1. Change to root
sudo su
2. Enable required repositories
Add Red Hat repositories
subscription-manager repos \
--enable rhel-7-server-optional-rpms \
--enable rhel-server-rhscl-7-rpms \
--enable rhel-7-server-devtools-rpms
Add EPEL repository
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Add MySQL 8 Community repository. Due to a MySQL issue a new GPG Key has to be also installed before getting the latest package.
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
Get list of enabled repositories
yum repolist enabled
The list of enabled repositories should contain below
repo id repo name status
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13756
mysql-connectors-community/x86_64 MySQL Connectors Community 199
mysql-tools-community/x86_64 MySQL Tools Community 92
mysql80-community/x86_64 MySQL 8.0 Community Server 364
rhel-7-server-devtools-rpms/x86_64 Red Hat Developer Tools RPMs for Red Hat Enterprise Linux 7 Server 5258
rhel-7-server-optional-rpms/7Server/x86_64 Red Hat Enterprise Linux 7 Server - Optional (RPMs) 23509
rhel-7-server-rpms/7Server/x86_64 Red Hat Enterprise Linux 7 Server (RPMs) 33163
rhel-server-rhscl-7-rpms/7Server/x86_64 Red Hat Software Collections RPMs for Red Hat Enterprise Linux 7 Server 14117
3. Support for PostgreSQL 10+ (optional)
This part can be skipped if you plan to connect to PostgreSQL up to vesion 9.6 or you don't need PostgreSQL support at all.
If you plan to connect to PostgreSQL servers from version 10 than PostgreSQL provided by RHEL 7 is not suitable and newer packages must be installed from official PostgreSQL repository.
The pg_config
v10+ has to be available before installing SlashDB.
Run below command to check if you already have PostgreSQL development package
pg_config | grep VERSION
- if error "command not found" was returned then it means no PostgreSQL client was found you can continue with instruction below to install newer PostgreSQL devel
- if returned VERSION is greater of equal 10 then you can skip the following update
- if returned VERSION is lower than 10 then the below instructions may not be suitable
Follow the instructions below To update PostgreSQL development package.
Add the PostgreSQL repository.
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Install development package
yum install -y postgresql14-devel
After installation the pg_config
is not linked. Add the missing alternative with command
update-alternatives --install /usr/bin/pg_config pg_config /usr/pgsql-14/bin/pg_config 20
Finally check if pg_config
is right version
pg_config | grep VERSION
Expected output is PostgreSQL version 14.x e.g.
VERSION = PostgreSQL 14.2
All ready, you can install SlashDB package now.
4. Download and install SlashDB package
yum install -y https://downloads.slashdb.com/versions/1.6.46/slashdb-1.6.46.x86_64.rpm
5. Once installation is complete SlashDB should be accessible at http://your-ip-address
Use command ifconfig
to find what your IP address is.
6. To finish setup see:
RedHat 8
Before Installing - Requirements
This installation provides SlashDB with support for SQLite, MySQL 8, PostgreSQL, MS SQL Server and IBM DB2 out of the box. Oracle requires a few additional but simple steps - see instructions below.
1. Change to root
sudo su
2. Enable required repositories
Add EPEL repository.
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Add MySQL 8 Community repository. Due to a MySQL issue a new GPG Key has to be also installed before getting the latest package.
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
dnf install -y https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
Add Red Hat CodeReady Linux Builder repository for SAML integration.
subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms
3. Download and install SlashDB package
dnf install -y https://downloads.slashdb.com/versions/1.6.46/slashdb-1.6.46.x86_64.rpm
4. Once installation is complete SlashDB should be accessible at http://your-ip-address
Use command ifconfig
to find what your IP address is.
5. To finish setup see:
RedHat 9
Before Installing - Requirements
This installation provides SlashDB with support for SQLite, MySQL 8, PostgreSQL, MS SQL Server and IBM DB2 out of the box. Oracle requires a few additional but simple steps - see instructions below.
1. Change to root
sudo su
2. Enable required repositories
Add EPEL repository.
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
Add MySQL 8 Community repository. Due to a MySQL issue a new GPG Key has to be also installed before getting the latest package.
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
dnf install -y https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm
Add Red Hat CodeReady Linux Builder repository for SAML integration.
subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms
3. Download and install SlashDB package
dnf install -y https://downloads.slashdb.com/versions/1.6.46/slashdb-1.6.46.x86_64.rpm
4. Once installation is complete SlashDB should be accessible at http://your-ip-address
Use command ifconfig
to find what your IP address is.
5. To finish setup see:
Oracle for RedHat or CentOS
Before Installing - Requirements
1. Change to root
sudo su
2. Install additional system dependencies required by Oracle driver.
For Red Hat / CentOS 8 or newer versions package libnsl is needed.
yum install -y libnsl
3. Install RPM files for oracle
Go to Oracle Instant Client Downloads download and install version 21 of:
- Instant Client Basic Package
- SQL*Plus Package of version 21
yum install -y ./oracle-instantclient-*.rpm
4. Setup system environment
echo "/usr/lib/oracle/21/client64/lib/" >> /etc/ld.so.conf.d/oracle.conf
ldconfig
echo 'export ORACLE_HOME=/usr/lib/oracle/21/client64' >> /etc/profile.d/oracle.sh
echo 'export PATH=$PATH:$ORACLE_HOME/bin' >> /etc/profile.d/oracle.sh
echo 'export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH' >> /etc/profile.d/oracle.sh
echo 'export NLS_LANG=American_America.UTF8' >> /etc/profile.d/oracle.sh
echo 'export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"' >> /etc/profile.d/oracle.sh
. /etc/profile.d/oracle.sh
If your Oracle server runs inside a docker container and is version 19 or above, you will need to disable the Out Of Band breaks feature. To do that add this line to sqlnet.ora
echo "DISABLE_OOB=ON" >> ~/.sqlnet.ora
5. Add DBAPI
/opt/slashdb/bin/pip install cx-Oracle==8.3.0
6. Restart the SlashDB service.
systemctl restart slashdb
All done. SlashDB should be able to connect with Oracle databases.