点击蓝色字关注“SQL数据库运维”,回复“SQL”获取2TB学习资源!
适用于: SQL Server - Linux
本快速入门介绍如何在 Red Hat Enterprise Linux (RHEL) 8.x 或 9.x 上安装 SQL Server 2022 (16.x)。然后可以使用 sqlcmd 进行连接,创建第一个数据库并运行查询。
注意:本教程需要用户输入和 Internet 连接。
先决条件
必须拥有 RHEL 8.x 计算机(内存至少为 2 GB)。
如果以前安装了 SQL Server 的社区技术预览版 (CTP) 或候选发布 (RC) 版本,则必须先删除旧存储库,然后再执行这些步骤。
安装 SQL Server
Red Hat 8环境下安装
以下用于安装 SQL Server 的命令指向 RHEL 8 存储库。
若要在 RHEL 上配置 SQL Server,请在终端中运行以下命令以安装 mssql-server
包:
1、下载 SQL Server 2022 (16.x) Red Hat 8 存储库配置文件:
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2022.repo
如果要安装不同版本的 SQL Server,配置文件不同。
sudo yum install -y mssql-server
3、包安装完成后,使用其完整路径运行 mssql-conf setup
,按照提示设置 SA 密码并选择版本。作为提醒,以下 SQL Server 版本是免费提供许可的:Evaluation、Developer 和 Express 版。
sudo /opt/mssql/bin/mssql-conf setup
请记住为 SA 帐户指定强密码。需要最小长度为 8 个字符,包括大写和小写字母、十进制数字和/或非字母数字符号。
4、完成配置后,验证服务是否正在运行:
systemctl status mssql-server
5、若要允许远程连接,请在 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 计算机上运行,随时可以使用!
Red Hat 9环境下安装
从 RHEL 9 开始,你可以将 SQL Server 作为启用 SELinux 的受限应用程序运行。
要将 SQL Server 作为受限应用程序运行,请执行以下步骤:
确保 SELinux 处于启用状态和强制模式下。
使用本部分后面提到的步骤安装
mssql-server
包。安装新的
mssql-server-selinux
包。
sudo yum install -y mssql-server-selinux
mssql-server
包:1、下载 SQL Server 2022 (16.x) Red Hat 9 存储库配置文件:
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/9/mssql-server-2022.repo
2、运行以下命令以安装 SQL Server:
sudo yum install -y mssql-server
(可选)如果要将 SQL Server 作为受限应用程序运行,则请安装启用了自定义策略的 mssql-server-selinux
包。
sudo yum install -y mssql-server-selinux
3、包安装完成后,使用其完整路径运行 mssql-conf setup
,按照提示设置 SA 密码并选择版本。作为提醒,以下 SQL Server 版本是免费提供许可的:Evaluation、Developer 和 Express 版。
sudo /opt/mssql/bin/mssql-conf setup
请记住为 SA 帐户指定强密码。需要最小长度为 8 个字符,包括大写和小写字母、十进制数字和/或非字母数字符号。
4、完成配置后,验证服务是否正在运行:
systemctl status mssql-server
5、若要允许远程连接,请在 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 计算机上运行,随时可以使用!
将 sa 帐户禁用
1、创建新的登录帐户,并将其设为 sysadmin 服务器角色的成员。
根据你使用的是容器还是非容器部署,启用 Windows 身份验证,并创建一个新的基于 Windows 的登录帐户,并将其添加到 sysadmin 服务器角色中。
否则,请使用 SQL Server 身份验证创建登录帐户,并将其添加到 sysadmin 服务器角色。
2、使用创建的新登录帐户连接 SQL Server 实例。
3、按照安全最佳做法的建议,禁用 sa 帐户。
安装 SQL Server 命令行工具
若要创建数据库,则需要使用可在 SQL Server 上运行 Transact-SQL 语句的工具进行连接。按照以下步骤安装 SQL Server 命令行工具:sqlcmd 实用工具 和 bcp 实用工具。
通过以下步骤在 Red Hat Enterprise Linux 上安装 mssql-tools18。
1、下载 Microsoft Red Hat 存储库配置文件。
对于 Red Hat 9,请使用以下命令:
curl https://packages.microsoft.com/config/rhel/9/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
对于 Red Hat 8,请使用以下命令:
curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
对于 Red Hat 7,请使用以下命令:
curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
2、如果安装了早期版本的 mssql-tools,请删除所有旧的 unixODBC 包。
sudo yum remove mssql-tools unixODBC-utf16 unixODBC-utf16-devel
3、运行以下命令,以使用 unixODBC 开发人员包安装 mssql-tools18。
sudo yum install -y mssql-tools18 unixODBC-devel
若要将 mssql-tools 更新至最新版本,请运行以下命令:
sudo yum check-update
sudo yum update mssql-tools18
4、可选:向 bash shell 中的 PATH
环境变量添加 /opt/mssql-tools18/bin/
。
若要使 sqlcmd 和 bcp 能从登录会话的 bash shell 进行访问,请使用下列命令修改 ~/.bash_profile
文件中的 PATH
:
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bash_profile
source ~/.bash_profile
若要使 sqlcmd 和 bcp 能从交互式/非登录会话的 bash shell 进行访问,请使用下列命令修改 ~/.bashrc
文件中的 PATH
:
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
本地连接
以下步骤使用 sqlcmd 本地连接到新的 SQL Server 实例。
1、使用 SQL Server 名称 (-S)、用户名 (-U) 和密码 (-P) 的相应参数运行 sqlcmd。在本教程中,用户进行本地连接,因此服务器名称为 localhost。用户名为 sa,密码是在安装过程中为 SA 帐户提供的密码。
sqlcmd -S localhost -U sa -P '<YourPassword>'
可以在命令行上省略密码,以收到密码输入提示。
如果以后决定进行远程连接,请为 -S
参数指定计算机名称或 IP 地址,并确保防火墙上的端口 1433 已打开。
2、如果成功,应会显示 sqlcmd 命令提示符:1>
。
3、如果连接失败,先尝试诊断错误消息中所述的问题。
创建和查询数据
下面各部分将逐步介绍如何使用 sqlcmd 新建数据库、添加数据并运行简单查询。
新建数据库
TestDB
的新数据库。1、在 sqlcmd 命令提示符中,粘贴以下 Transact-SQL 命令以创建测试数据库:
CREATE DATABASE TestDB;
2、在下一行中,编写一个查询以返回服务器上所有数据库的名称:
SELECT Name from sys.databases;
3、前两个命令没有立即执行。必须在新行中键入 GO
才能执行以前的命令:
GO
插入数据
接下来创建一个新表 dbo.Inventory
,然后插入两个新行。
1、在 sqlcmd 命令提示符中,将上下文切换到新的 TestDB
数据库:
USE TestDB;
2、创建名为 dbo.Inventory
的新表:
CREATE TABLE dbo.Inventory (
id INT,
name NVARCHAR(50),
quantity INT,
PRIMARY KEY (id)
);
3、将数据插入新表:
INSERT INTO dbo.Inventory VALUES (1, 'banana', 150);
INSERT INTO dbo.Inventory VALUES (2, 'orange', 154);
4、要执行上述命令的类型 GO
:
GO
退出 sqlcmd 命令提示符
要结束 sqlcmd 会话,请键入 QUIT
:
QUIT
跨平台数据工具
除“sqlcmd”以外,还可以使用以下跨平台工具来管理 SQL Server :
从 Windows 进行连接
Windows 上的 SQL Server 工具连接到 Linux 上的 SQL Server 实例,操作方式与连接到任何远程 SQL Server 实例一样。
localhost
,并确保 TCP 端口 1433 已在 SQL Server 计算机上打开。文章参考来源:https://learn.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-red-hat?view=sql-server-ver16&tabs=rhel9
点击关注“SQL数据库运维”,后台或浏览至公众号文章底部点击“发消息”回复关键字:进群,带你进入高手如云的技术交流群。后台回复关键字:SQL,获取学习资料。
动动小手点击加关注呦☟☟☟