---
title: "RHEL: Install SQL Server on Linux"
titleSuffix: SQL Server
description: This quickstart shows how to install SQL Server 2017 or SQL Server 2019 on Red Hat Enterprise Linux (RHEL) and then create and query a database with sqlcmd.
author: VanMSFT
ms.custom: seo-lt-2019
ms.author: vanto
ms.date: 04/10/2020
ms.topic: conceptual
ms.prod: sql
ms.technology: linux
ms.assetid: 92503f59-96dc-4f6a-b1b0-d135c43e935e
---
# Quickstart: Install SQL Server and create a database on Red Hat
[!INCLUDE[appliesto-ss-xxxx-xxxx-xxx-md-linuxonly](../includes/appliesto-ss-xxxx-xxxx-xxx-md-linuxonly.md)]
::: moniker range="= sql-server-linux-2017 || = sql-server-2017"
In this quickstart, you install SQL Server 2017 or SQL Server 2019 on Red Hat Enterprise Linux (RHEL). You then connect with **sqlcmd** to create your first database and run queries.
::: moniker-end
::: moniker range=">= sql-server-linux-ver15 || >= sql-server-ver15 || =sqlallproducts-allversions"
In this quickstart, you install SQL Server 2019 on Red Hat Enterprise Linux (RHEL) 8. You then connect with **sqlcmd** to create your first database and run queries.
::: moniker-end
> [!TIP]
> This tutorial requires user input and an internet connection. If you are interested in the [unattended](sql-server-linux-setup.md#unattended) or [offline](sql-server-linux-setup.md#offline) installation procedures, see [Installation guidance for SQL Server on Linux](sql-server-linux-setup.md).
## Prerequisites
You must have a RHEL 7.3, 7.4, 7.5, 7.6, or 8 machine with **at least 2 GB** of memory.
To install Red Hat Enterprise Linux on your own machine, go to [https://access.redhat.com/products/red-hat-enterprise-linux/evaluation](https://access.redhat.com/products/red-hat-enterprise-linux/evaluation). You can also create RHEL virtual machines in Azure. See [Create and Manage Linux VMs with the Azure CLI](https://docs.microsoft.com/azure/virtual-machines/linux/tutorial-manage-vm), and use `--image RHEL` in the call to `az vm create`.
If you have previously installed a CTP or RC release of SQL Server, you must first remove the old repository before following these steps. For more information, see [Configure Linux repositories for SQL Server 2017 and 2019](sql-server-linux-change-repo.md).
For other system requirements, see [System requirements for SQL Server on Linux](sql-server-linux-setup.md#system).
::: moniker range="= sql-server-linux-2017 || = sql-server-2017"
## Install SQL Server
> [!NOTE]
> RHEL 8 is supported for SQL Server 2017 starting with CU20. The following commands for SQL Server 2017 points to the RHEL 8 repository. RHEL 8 does not come preinstalled with python2, which is required by SQL Server. For more information, see the following blog on installing python2 and configuring it as the default interpreter: https://www.redhat.com/en/blog/installing-microsoft-sql-server-red-hat-enterprise-linux-8-beta.
>
> If you are using RHEL 7, change the path below to `/rhel/7` instead of `/rhel/8`.
To configure SQL Server on RHEL, run the following commands in a terminal to install the **mssql-server** package:
1. Download the Microsoft SQL Server 2017 Red Hat repository configuration file:
```bash
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2017.repo
```
> [!TIP]
> If you want to install SQL Server 2019 , you must instead register the SQL Server 2019 repository. Use the following command for SQL Server 2019 installations:
>
> ```bash
> sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2019.repo
> ```
2. Run the following commands to install SQL Server:
```bash
sudo yum install -y mssql-server
```
3. After the package installation finishes, run **mssql-conf setup** and follow the prompts to set the SA password and choose your edition.
```bash
sudo /opt/mssql/bin/mssql-conf setup
```
> [!TIP]
> The following SQL Server 2017 editions are freely licensed: Evaluation, Developer, and Express.
> [!NOTE]
> Make sure to specify a strong password for the SA account (Minimum length 8 characters, including uppercase and lowercase letters, base 10 digits and/or non-alphanumeric symbols).
4. Once the configuration is done, verify that the service is running:
```bash
systemctl status mssql-server
```
5. To allow remote connections, open the SQL Server port on the firewall on RHEL. The default SQL Server port is TCP 1433. If you are using **FirewallD** for your firewall, you can use the following commands:
```bash
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
```
At this point, SQL Server is running on your RHEL machine and is ready to use!
::: moniker-end
::: moniker range=">= sql-server-linux-ver15 || >= sql-server-ver15 || =sqlallproducts-allversions"
## Install SQL Server
> [!NOTE]
> The following commands for SQL Server 2019 points to the RHEL 8 repository. RHEL 8 does not come preinstalled with python2, which is required by SQL Server. For more information, see the following blog on installing python2 and configuring it as the default interpreter: https://www.redhat.com/en/blog/installing-microsoft-sql-server-red-hat-enterprise-linux-8-beta.
>
> If you are using RHEL 7, change the path below to `/rhel/7` instead of `/rhel/8`.
To configure SQL Server on RHEL, run the following commands in a terminal to install the **mssql-server** package:
1. Download the Microsoft SQL Server 2019 Red Hat repository configuration file:
```bash
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2019.repo
```
2. Run the following commands to install SQL Server:
```bash
sudo yum install -y mssql-server
```
3. After the package installation finishes, run **mssql-conf setup** and follow the prompts to set the SA password and choose your edition.
```bash
sudo /opt/mssql/bin/mssql-conf setup
```
> [!NOTE]
> Make sure to specify a strong password for the SA account (Minimum length 8 characters, including uppercase and lowercase letters, base 10 digits and/or non-alphanumeric symbols).
4. Once the configuration is done, verify that the service is running:
```bash
systemctl status mssql-server
```
5. To allow remote connections, open the SQL Server port on the firewall on RHEL. The default SQL Server port is TCP 1433. If you are using **FirewallD** for your firewall, you can use the following commands:
```bash
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
```
At this point, SQL Server 2019 is running on your RHEL machine and is ready to use!
::: moniker-end
## Install the SQL Server command-line tools
To create a database, you need to connect with a tool that can run Transact-SQL statements on the SQL Server. The following steps install the SQL Server command-line tools: [sqlcmd](../tools/sqlcmd-utility.md) and [bcp](../tools/bcp-utility.md).
1. Download the Microsoft Red Hat repository configuration file.
```bash
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/8/prod.repo
```
1. If you had a previous version of **mssql-tools** installed, remove any older unixODBC packages.
```bash
sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
```
1. Run the following commands to install **mssql-tools** with the unixODBC developer package. For more information, see [Install the Microsoft ODBC driver for SQL Server (Linux)](../connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server.md).
```bash
sudo yum install -y mssql-tools unixODBC-devel
```
1. For convenience, add `/opt/mssql-tools/bin/` to your **PATH** environment variable. This enables you to run the tools without specifying the full path. Run the following commands to modify the **PATH** for both login sessions and interactive/non-login sessions:
```bash
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
```
[!INCLUDE [Connect, create, and query data](../includes/sql-linux-quickstart-connect-query.md)]