如何在Red Hat Enterprise Linux上安装SQL Server

如何在Red Hat Enterprise Linux上安装SQL Server

本文将指导您在 RHEL 8.x 或 RHEL 9.x 上安装 SQL Server 2022,使用 sqlcmd 命令行工具连接到 SQL Server,创建数据库并执行基本查询。

前提条件

在开始之前,请确保满足以下前提条件:

– 确保您使用的是受支持的 RHEL 版本(例如,RHEL 8 或 9)。

– 您需要具有 sudo 或 root 权限来安装软件。

– 至少 2 GB 的 RAM、6 GB 的空闲磁盘空间,以及支持的 CPU 架构(x64)。

步骤 1:启用 SELinux 强制模式

SQL Server 2022 支持在 RHEL 8.x 和 9.x 上运行。对于 RHEL 9,SQL Server 可以使用 SELinux(安全增强 Linux)作为受限应用程序运行,从而增强安全性。

首先,您需要启用 SELinux(对于 RHEL 9,启用 SELinux 是可选的,但建议启用),以便将 SQL Server 作为受限应用程序使用。

执行以下命令启用 SELinux 强制模式:

sestatus
sudo setenforce 1

如果 SELinux 在配置文件 `/etc/selinux/config` 中被禁用,该命令将无法生效。您需要在配置文件中启用 SELinux,并重新启动系统。

使用您喜欢的文本编辑器打开 `/etc/selinux/config` 文件:

sudo vi /etc/selinux/config

将 `SELINUX=disabled` 更改为 `SELINUX=enforcing`。

重新启动系统以使更改生效:

sudo reboot

系统重新启动后,检查 SELinux 状态,确认它处于强制模式:

getenforce

应该返回 `Enforcing`。

步骤 2:在 RHEL 上安装 SQL Server

运行以下 curl 命令以下载并配置 Microsoft SQL Server 仓库:

sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/$(rpm -E %{rhel})/mssql-server-2022.repo

接下来,使用以下命令安装 SQL Server 包:

sudo yum install -y mssql-server

如果您希望使用额外的安全性运行 SQL Server,可以安装 `mssql-server-selinux` 包,它为 SQL Server 增加了有助于与 SELinux 配合工作的特定规则:

sudo yum install -y mssql-server-selinux

安装完成后,运行设置脚本并按照提示设置“sa”帐户的密码,并选择 SQL Server 的版本。以下版本可以免费使用:Evaluation、Developer 和 Express。

sudo /opt/mssql/bin/mssql-conf setup

安装完成后,确认 SQL Server 是否正在运行:

sudo systemctl status mssql-server

如果未运行,请启动它:

sudo systemctl start mssql-server

为了允许远程连接,您需要在 RHEL 防火墙上打开 SQL Server 端口。默认情况下,SQL Server 使用 TCP 端口 1433。如果您的系统使用 FirewallD 作为防火墙,请运行以下命令:

sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload

现在,SQL Server 已在您的 RHEL 机器上启动并运行,随时可以使用!

步骤 3:安装 SQL Server 命令行工具

为了创建数据库,您需要使用一个可以在 SQL Server 上运行 Transact-SQL 命令的工具。以下是安装 SQL Server 命令行工具(如 sqlcmd 和 bcp 工具)的步骤。

首先,下载 Microsoft Red Hat 仓库配置文件。

对于 RHEL 9,请使用以下命令:

curl https://packages.microsoft.com/config/rhel/9/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo

对于 RHEL 8,请使用以下命令:

curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo

接下来,运行以下命令安装 `mssql-tools18` 和 `unixODBC-devel` 开发包:

sudo yum install -y mssql-tools18 unixODBC-devel

要更新到最新版本的 `mssql-tools`,请运行以下命令:

sudo yum check-update
sudo yum update mssql-tools18

为了每次登录时都能在 bash shell 中使用 `sqlcmd` 和 `bcp`,请通过以下命令更新 `~/.bash_profile` 中的 `PATH`:

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

为了在所有会话中都能使用 `sqlcmd` 和 `bcp`,请通过以下命令将其位置添加到 `PATH`,编辑 `~/.bashrc` 文件:

echo ‘export PATH=”$PATH:/opt/mssql-tools18/bin”‘ >> ~/.bashrc
source ~/.bashrc

步骤 4:连接到 RHEL 上的 SQL Server

安装 SQL Server 后,您可以使用 `sqlcmd` 连接到它。

本地连接 SQL Server

sqlcmd -S localhost -U sa -P '<password>' -N -C

`-S`:指定服务器名称(本地连接使用 localhost)。

`-U`:指定用户名(使用 sa 作为系统管理员帐户)。

`-P`:指定您在配置过程中设置的密码。

`-N`:加密连接。

`-C`:信任服务器证书,无需验证。

如果连接成功,您将看到如下提示符:

1>

创建新的 SQL 数据库

在 `sqlcmd` 命令提示符下,粘贴以下 Transact-SQL 命令来创建一个测试数据库:

CREATE DATABASE TestDB;

接下来,编写查询语句以返回服务器上的所有数据库名称:

SELECT Name
FROM sys.databases;

前面的两个命令不会立即执行。您必须在新的一行输入 `GO` 来执行之前的命令:

GO

向 SQL 数据库插入数据

接下来,创建一个新表 `dbo.Inventory`,并插入两行数据。

USE TestDB;
CREATE TABLE dbo.Inventory (id INT, name NVARCHAR(50), quantity INT, PRIMARY KEY (id));

将数据插入到新表中:

INSERT INTO dbo.Inventory VALUES (1, 'banana', 150), (2, 'orange', 154);

输入 `GO` 执行前面的命令:

GO

查询 SQL 数据库中的数据

从 `sqlcmd` 命令提示符下,输入查询语句,返回 `dbo.Inventory` 表中 `quantity` 大于 152 的行:

SELECT * FROM dbo.Inventory WHERE quantity > 152;
GO

要结束 `sqlcmd` 会话,输入 `QUIT`:

QUIT

除了 `sqlcmd`,您还可以使用以下跨平台工具来管理 SQL Server:

– Azure Data Studio:跨平台的 GUI 数据库管理工具。

– Visual Studio Code:跨平台的 GUI 代码编辑器,通过 mssql 扩展运行 Transact-SQL 语句。

– PowerShell Core:基于 cmdlet 的跨平台自动化和配置工具。

– mssql-cli:跨平台的命令行界面,用于运行 Transact-SQL 命令。

通过本文,您已经成功在 RHEL 上安装了 SQL Server 2022,配置了 SQL Server,并创建了您的第一个数据库。您还学会了如何使用 `sqlcmd` 工具查询数据。

未经允许不得转载:A5数据 » 如何在Red Hat Enterprise Linux上安装SQL Server

相关文章

contact