一、背景说明
项目需要在centos8(RHEL7)部署sqlserver数据库,从2016年(大约记得是这个时间)开始微软的Sqlserver也开始支持在Linux平台中进行部署,所以从环境方面来说没有太大问题。
实际操作过程中,参照官方部署步骤,发现重点是对联机(可连通公网)状态下的部署步骤描述比较详细,对于脱机状态的描述个人认为比较模糊,中间好多依赖都没有说的很清楚,需要自己琢磨。(微软官方安装步骤:RHEL:在 Linux 上安装 SQL Server - SQL Server)
二、具体部署步骤
SQL Server 2019比较重要的一个依赖是python3,但是centos7.x默认安装的都是python2(其他centos版本没研究,可以通过python3 -V查看是否预装了python3)
- 找一台与部署环境接近(我认为大版本一致就行,例如都是centos7.x)的设备(通过VMware搭建虚拟机即可),可以连通公网,提前下载依赖包。
依赖包我分了两个过程:一是下载python3及相关依赖包;二是下载SQL Server 2019机器相关依赖包。因为在实测过程中发现下载SQL Server 2019依赖包时不会包含python3的内容,可能微软认为部署环境就应该具备python3环境吧。
下面上具体步骤:
(1)通过yumdownloader下载所有依赖包,有的环境没有预装yumdownloader服务,需要先装一下(已经安装的就不需要了)
yum install yum-utils -y
(2)下载python3及依赖
mkdir /python3_all //新建一个文件夹用来存放下载内容
yumdownloader --resolve --destdir=/python3_all python3 //resolve同时下载相关的rpm依赖包,destdir指定下载目录
(3)下载SQL Server 2019及依赖
mkdir /mssql2019 //新建一个文件夹用来存放下载内容
sudo curl -o /etc/yum.repos.d/mssql-server.repo [https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo](https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo) //下载 Microsoft SQL Server 2019 Red Hat 存储库配置文件
yumdownloader --resolve --destdir=/mssql2019 mssql-server //resolve同时下载相关的rpm依赖包,destdir指定下载目录
- 将压缩包拷贝到脱机环境服务器上
(1)rpm手动安装
cd python3_all
rpm -ivh ./*.rpm --force //先安装python及依赖 force强制安装
cd mssql2019
rpm -ivh ./*.rpm --force //先安装python及依赖 force强制安装
(2)SQL Server 2019配置
sudo /opt/mssql/bin/mssql-conf setup
参考官网 RHEL:在 Linux 上安装 SQL Server - SQL Server
(3)执行后进行Microsoft SQL Server 的设置,我这里是选择Enterprise ,其他配置根据自己需要进行配置
[root@aaa local]# sudo /opt/mssql/bin/mssql-conf setup
usermod:无改变
选择 SQL Server 的一个版本:
- Evaluation (免费,无生产许可,180 天限制)
- Developer (免费,无生产许可)
- Express (免费)
- Web (付费版)
- Standard (付费版)
- Enterprise (付费版) - CPU 核心利用率限制为 20 个物理/40 个超线程
- Enterprise Core (付费版) - CPU 核心利用率达到操作系统最大值
- 我通过零售渠道购买了许可证并具有要输入的产品密钥。
可在以下位置找到有关版本的详细信息:
https://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x804
使用此软件的付费版本需要通过以下途径获取单独授权
Microsoft 批量许可计划。
选择付费版本即表示你具有适用的
要安装和运行此软件的就地许可证数量。
输入版本(1-8): 6
可以在以下位置找到此产品的许可条款:/usr/share/doc/mssql-server 或从以下位置下载:
https://go.microsoft.com/fwlink/?LinkId=2104294&clcid=0x804
可以从以下位置查看隐私声明:
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x804
接受此许可条款吗? [Yes/No]:Yes
选择 SQL Server 的语言:
(1) English
(2) Deutsch
(3) Español
(4) Français
(5) Italiano
(6) 日本語
(7) 한국어
(8) Português
(9) Русский
(10) 中文 – 简体
(11) 中文 (繁体)
输入选项 1-11:10
输入 SQL Server 系统管理员密码:
指定的密码不符合 SQL Server 密码策略要求,因为该密码太短。密码必须至少为 8 个字符
输入 SQL Server 系统管理员密码:
指定的密码不符合 SQL Server 密码策略要求,因为它不够复杂。密码必须至少包含 8 个字符,并包含以下四种字符集中的任意三种: 大写字母、小写字母、数字和符号。
输入 SQL Server 系统管理员密码:
确认 SQL Server 系统管理员密码:
正在配置 SQL Server…
ForceFlush is enabled for this instance.
ForceFlush feature is enabled for log durability.
Created symlink from /etc/systemd/system/multi-user.target.wants/mssql-server.service to /usr/lib/systemd/system/mssql-server.service
.
安装程序已成功完成。SQL Server 正在启动。
注:MSSQL账户默认 sa