前言
其实很多企业有在 Linux 端安装 SQL Server 的需求,自从 2016 年以来,SQL Server on Linux 发展到现在已经非常成熟了,可以提供非常简便的安装方式,即便是 Always On 也可以轻松部署,本文就介绍如何在 Anolis/AliyunLinux 上安装 (MSSQL)SQL Server 2022 数据库。
在很多 SQL Server 的 Benchmark 中,SQL Server on Linux 都有着不输 WIndows 的性能体验,因此大家不必担心 SQL Server on Linux 的性能问题。
配置要求
在 Anolis/AliyunLinux 上安装,可以通过 RPM 包或者 Docker 容器两种方式安装。本文具体讨论 RPM 包的安装方式。
QL Server 对 Linux 具有以下系统要求:
要求 | |
内存 | 2 GB |
文件系统 | XFS 或 EXT4(其他文件系统均不受支持,如 BTRFS) |
磁盘空间 | 6 GB |
处理器速度 | 2 GHz |
处理器核心数 | 2 个核心 |
处理器类型 | 仅兼容 amd64 (目前不兼容 ARM 架构) |
如果在生产中使用网络文件系统 (NFS) 远程共享,请注意以下支持要求:
- 使用 NFS 版本 4.2 或更高版本。 较早版本的 NFS 不支持现代文件系统常用的必需功能,例如
fallocate
和稀疏文件创建。 - 仅在 NFS 装载上查找
/var/opt/mssql
目录。 不支持其他文件,例如 SQL Server 系统二进制文件。 - 安装远程共享时,请确保 NFS 客户端使用“nolock”选项。
安装
一、下载 SQL Server 2022 (16.x) Red Hat 存储库配置文件:
curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2022.repo
二、运行以下命令以安装 SQL Server:
yum install -y mssql-server
安装 Sql Server 2022
三、包安装完成后,运行 mssql-conf setup
,按照提示设置 SA 密码并选择版本。
目前 Evaluation(评估版)、Developer(开发者版) 和 Express (免费版)可以免费使用或者用于测试、评估用途。
Do you accept the license terms? 输入 yes ,表示同意相关协议。
四、完成配置后,检查服务是否正在运行:
systemctl status mssql-server
正常会反馈:
● mssql-server.service - Microsoft SQL Server Database Engine Loaded: loaded (/usr/lib/systemd/system/mssql-server.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2022-12-27 17:41:46 CST; 3min 24s ago Docs: https://docs.microsoft.com/en-us/sql/linux Main PID: 6577 (sqlservr) Tasks: 142 Memory: 615.9M CGroup: /system.slice/mssql-server.service ├─6577 /opt/mssql/bin/sqlservr └─6602 /opt/mssql/bin/sqlservr Dec 27 17:41:50 iZ8vbc3mc9ygaf2dyvaylsZ sqlservr[6602]: [155B blob data] Dec 27 17:41:51 iZ8vbc3mc9ygaf2dyvaylsZ sqlservr[6602]: [61B blob data] Dec 27 17:41:51 iZ8vbc3mc9ygaf2dyvaylsZ sqlservr[6602]: [193B blob data] Dec 27 17:41:51 iZ8vbc3mc9ygaf2dyvaylsZ sqlservr[6602]: [66B blob data] Dec 27 17:41:51 iZ8vbc3mc9ygaf2dyvaylsZ sqlservr[6602]: [96B blob data] Dec 27 17:41:51 iZ8vbc3mc9ygaf2dyvaylsZ sqlservr[6602]: [100B blob data] Dec 27 17:41:51 iZ8vbc3mc9ygaf2dyvaylsZ sqlservr[6602]: [71B blob data] Dec 27 17:41:51 iZ8vbc3mc9ygaf2dyvaylsZ sqlservr[6602]: [124B blob data] Dec 27 17:41:55 iZ8vbc3mc9ygaf2dyvaylsZ sqlservr[6602]: [71B blob data] Dec 27 17:41:55 iZ8vbc3mc9ygaf2dyvaylsZ sqlservr[6602]: [315B blob data]
五、开放相应防火墙端口
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent sudo firewall-cmd --reload
云服务器的安全组也不要忘记开放 TCP 的 1433 端口。
使用管理
这时候我们可以使用 SSMS 或者 sqlcmd 进行管理。
SSMS
前往这里下载对应办的 SSMS:
安装完成后进行登录
我们可以在属性中看到是在AliyunLinux 上安装的相关信息:
sqlcmd
一、下载 Red Hat 存储库配置文件:
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/8/prod.repo
二、运行以下命令,以使用 unixODBC 开发人员包安装 mssql-tools。
sudo yum install -y mssql-tools unixODBC-devel
三、在 /opt/mssql-tools/bin/
添加到 PATH
环境变量,以便可从 bash shell 访问 sqlcmd 或 bcp。
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc source ~/.bashrc
四、登录连接:
sqlcmd -S localhost -U sa -P '<你的密码>'