Tuesday, November 26, 2024
Google search engine
HomeData Modelling & AIInstall Microsoft SQL Server 2019 on Ubuntu 20.04|18.04|16.04

Install Microsoft SQL Server 2019 on Ubuntu 20.04|18.04|16.04

MS SQL is a relational database system by Microsoft that was open-sourced in 2016. In this guide, I’ll take you through the steps to install MS SQL server 2019 on Ubuntu 20.04/18.04/16.04 Linux system. In addition, We will look at how to create a database, add users, and lastly how to do daily backups for the databases.

myssql ubuntu 18.04

Below are the minimum system requirements to run MS SQL on Ubuntu 20.04/18.04/16.04 server:

  • Minimum memory of 2 GB
  • CPU processor with a minimum speed of 1.4 GHz. But the recommended is >= 2 GHz
  • SQL Server requires a minimum of 10 GB of available hard-disk space

Follow the steps below to install and configure MS SQL database server on Ubuntu 20.04/18.04/16.04:

Step 1: Update Ubuntu System

As usual, we ensure all system packages are updated before adding any new packages:

sudo apt update && sudo apt -y upgrade

If you have kernel updates done, ensure a reboot is done for the system to boot into a new kernel.

[ -f /var/run/reboot-required ] && sudo reboot -f

Step 2: Import the public repository GPG keys

Add GPG key for the system to trust MS SQL apt repository packages:

sudo wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

Step 3: Add Microsoft SQL Server 2019 Ubuntu repository

Add Microsoft SQL Server 2019 APT repository to your Ubuntu 20.04/18.04/16.04 system.

Ubuntu 20.04

sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)"

Ubuntu 18.04

sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2019.list)"

Ubuntu 16.04:

sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2019.list)"

Step 4: Install MS SQL Server 2019 on Ubuntu 20.04/18.04/16.04 LTS

Now run the following commands to install SQL Server:

sudo apt update
sudo apt install mssql-server

Press the y key to start the installation of Microsoft SQL Server 2019 on Ubuntu 20.04/18.04/16.04.

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  gdb gdbserver libatomic1 libbabeltrace1 libc++1 libc++1-10 libc++abi1-10 libc6 libc6-dbg libcc1-0 libdw1 libsasl2-modules-gssapi-mit libsss-nss-idmap0
Suggested packages:
  gdb-doc clang glibc-doc
The following NEW packages will be installed:
  gdb gdbserver libatomic1 libbabeltrace1 libc++1 libc++1-10 libc++abi1-10 libc6-dbg libcc1-0 libdw1 libsasl2-modules-gssapi-mit libsss-nss-idmap0 mssql-server
The following packages will be upgraded:
  libc6
1 upgraded, 13 newly installed, 0 to remove and 75 not upgraded.
Need to get 297 MB of archives.
After this operation, 1316 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

The output is similar to below:

....
Setting up libdw1:amd64 (0.176-1.1build1) ...
Setting up libc6-dbg:amd64 (2.31-0ubuntu9.9) ...
Setting up libatomic1:amd64 (10.3.0-1ubuntu1~20.04) ...
Setting up libbabeltrace1:amd64 (1.5.8-1build1) ...
Setting up libc++abi1-10:amd64 (1:10.0.0-4ubuntu1) ...
Setting up gdbserver (9.2-0ubuntu1~20.04.1) ...
Setting up libsss-nss-idmap0 (2.2.3-3ubuntu0.9) ...
Setting up libsasl2-modules-gssapi-mit:amd64 (2.1.27+dfsg-2ubuntu0.1) ...
Setting up libcc1-0:amd64 (10.3.0-1ubuntu1~20.04) ...
Setting up libc++1-10:amd64 (1:10.0.0-4ubuntu1) ...
Setting up gdb (9.2-0ubuntu1~20.04.1) ...
Setting up libc++1:amd64 (1:10.0-50~exp1) ...
Setting up mssql-server (15.0.4298.1-1) ...

+--------------------------------------------------------------+
Please run 'sudo /opt/mssql/bin/mssql-conf setup'
to complete the setup of Microsoft SQL Server
+--------------------------------------------------------------+

Processing triggers for man-db (2.9.1-1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.9) ...

Step 5: Initialize MS SQL Server 2019 on Ubuntu 20.04/18.04/16.04

When the installation is done, proceed to set root user password by running initial setup  /opt/mssql/bin/mssql-conf setup

$ sudo /opt/mssql/bin/mssql-conf setup
Choose an edition of SQL Server:
  1) Evaluation (free, no production use rights, 180-day limit)
  2) Developer (free, no production use rights)
  3) Express (free)
  4) Web (PAID)
  5) Standard (PAID)
  6) Enterprise (PAID)
  7) Enterprise Core (PAID)
  8) I bought a license through a retail sales channel and have a product key to enter.

Details about editions can be found at
https://go.microsoft.com/fwlink/?LinkId=852748&clcid=0x409

Use of PAID editions of this software requires separate licensing through a
Microsoft Volume Licensing program.
By choosing a PAID edition, you are verifying that you have the appropriate
number of licenses in place to install and run this software.

Enter your edition(1-8): 2
The license terms for this product can be found in
/usr/share/doc/mssql-server or downloaded from:
https://go.microsoft.com/fwlink/?LinkId=855862&clcid=0x409

The privacy statement can be viewed at:
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409

Do you accept the license terms? [Yes/No]:Yes

Enter the SQL Server system administrator password:  <SetStrongNewPassword>
Confirm the SQL Server system administrator password: <ConfirmStrongPassword>
Configuring SQL Server...

ForceFlush is enabled for this instance. 
ForceFlush feature is enabled for log durability.
Created symlink /etc/systemd/system/multi-user.target.wants/mssql-server.service → /lib/systemd/system/mssql-server.service.
Setup has completed successfully. SQL Server is now starting.

The MS SQL service should be started.

$ systemctl status mssql-server.service 
 mssql-server.service - Microsoft SQL Server Database Engine
     Loaded: loaded (/lib/systemd/system/mssql-server.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2020-05-05 21:08:00 CEST; 26s ago
       Docs: https://docs.microsoft.com/en-us/sql/linux
   Main PID: 3626 (sqlservr)
      Tasks: 135
     Memory: 592.1M
     CGroup: /system.slice/mssql-server.service
             ├─3626 /opt/mssql/bin/sqlservr
             └─3669 /opt/mssql/bin/sqlservr

May 05 21:08:05 ubuntu-4gb-hel1-1 sqlservr[3669]: [78B blob data]
May 05 21:08:05 ubuntu-4gb-hel1-1 sqlservr[3669]: [84B blob data]
May 05 21:08:05 ubuntu-4gb-hel1-1 sqlservr[3669]: [145B blob data]
May 05 21:08:05 ubuntu-4gb-hel1-1 sqlservr[3669]: [96B blob data]
May 05 21:08:05 ubuntu-4gb-hel1-1 sqlservr[3669]: [66B blob data]
May 05 21:08:06 ubuntu-4gb-hel1-1 sqlservr[3669]: [75B blob data]
May 05 21:08:06 ubuntu-4gb-hel1-1 sqlservr[3669]: [96B blob data]
May 05 21:08:06 ubuntu-4gb-hel1-1 sqlservr[3669]: [100B blob data]
May 05 21:08:06 ubuntu-4gb-hel1-1 sqlservr[3669]: [71B blob data]
May 05 21:08:06 ubuntu-4gb-hel1-1 sqlservr[3669]: [124B blob data]

Step 6: Install MS SQL tools and unixODBC plugin

Now install Install MS SQL tools and unixODBC plugin:

Ubuntu 20.04:

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
sudo apt update 
sudo ACCEPT_EULA=Y apt install mssql-tools unixodbc-dev

Ubuntu 18.04:

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
sudo apt update 
sudo ACCEPT_EULA=Y apt install mssql-tools unixodbc-dev

Ubuntu 16.04:

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
sudo apt update 
sudo ACCEPT_EULA=Y apt install mssql-tools unixodbc-dev

Step 7: Configure PATH for MS SQL binaries

Add /opt/mssql-tools/bin/ to your PATH environment variable in a bash shell.

To make sqlcmd/bcp accessible from the bash shell for login sessions, modify your PATH in the ~/.bash_profile file with the following command:

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
source ~/.bash_profile

To make sqlcmd/bcp accessible from the bash shell for interactive/non-login sessions, modify the PATH in the ~/.bashrc file with the following command:

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc

Connect to MS SQL console:

# sqlcmd -S 127.0.0.1 -U SA 
Password: 
1> create database testDB;

Get a list database:

1> select name from sys.databases;
2> go
name                                                                                                                            
--------------------------------------------------------------------------------------------------------------------------------
master                                                                                                                          
tempdb                                                                                                                          
model                                                                                                                           
msdb                                                                                                                            
testDB                                                                                                                          

(5 rows affected)

Installation on CentOS / Fedora:

Also check:

How To Configure MS SQL Server to Listen on a given port

Install Latest Packer on Linux / FreeBSD / macOS / Windows

Install Terraform on Windows 10 / Windows Server 2019

How to install Applications from Windows command line

How to install OpenSSL on Windows Server 2019

Dominic Rubhabha-Wardslaus
Dominic Rubhabha-Wardslaushttp://wardslaus.com
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

Most Popular

Recent Comments