Skip to content

Install SQL Server on Red Hat

    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.

    You must have a RHEL 7.3 – 7.8, or 8.0 – 8.2 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. You can also create RHEL virtual machines in Azure. See Create and Manage Linux VMs with the Azure CLI, 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.

    Install SQL Server

    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. Before you begin the SQL Server install steps, execute the command and verify that python2 is selected as the interpreter:

    sudo alternatives –config python

    # If not configured, install python2 and openssl10 using the following commands:

    sudo yum install python2

    sudo yum install compat-openssl10

    # Configure python2 as the default interpreter using this command:

    sudo alternatives –config python

    For more information about these steps, 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

    • Run the following commands to install SQL Server:

    Bash

    sudo yum install -y mssql-server

    • 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

    • Once the configuration is done, verify that the service is running:

    Bash

    systemctl status mssql-server

    • 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!

    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 and bcp.

    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

    • If you had a previous version of mssql-tools installed, remove any older unixODBC packages.

    Bash

    sudo yum remove unixODBC-utf16 unixODBC-utf16-devel

    • Run the following commands to install mssql-tools with the unixODBC developer package.

    Bash

    sudo yum install -y mssql-tools unixODBC-devel

    • 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

    Connect locally

    The following steps use sqlcmd to locally connect to your new SQL Server instance.

    1. Run sqlcmd with parameters for your SQL Server name (-S), the user name (-U), and the password (-P). In this tutorial, you are connecting locally, so the server name is localhost. The user name is SA and the password is the one you provided for the SA account during setup.

    Bash

    sqlcmd -S localhost -U SA -P ‘<YourPassword>’

    • If successful, you should get to a sqlcmd command prompt: 1>.
    • If you get a connection failure, first attempt to diagnose the problem from the error message.