Linux(CentOS)安装SQL Server 2017或2019

零、 前言

本快速入门介绍如何在 Red Hat Enterprise Linux (RHEL) 7/8 上安装 SQL Server 2019。 然后使用 sqlcmd 进行连接,创建第一个数据库并运行查询

先决条件

必须拥有 RHEL 7.7 - 7.8 或 8.0 - 8.3 计算机(内存至少为 2 GB)

官网文档地址:

https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-red-hat?view=sql-server-ver15

一、 下载 Microsoft SQL Server 2017 Red Hat 存储库配置文件

对于 RHEL7:


curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo

对于 RHEL7: Microsoft SQL Server 2019版本


curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo


对于 RHEL8:


curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2019.repo


二、 运行以下命令以安装 SQL Server

yum install -y mssql-server

三、 软件包安装完成后,运行 mssql-conf setup 安装命令,按照提示设置 SA 密码并选择版本

 

/opt/mssql/bin/mssql-conf setup

 

 

 

备注

请确保为 SA 帐户指定强密码(最少 8 个字符,包括大写和小写字母、十进制数字和/或非字母数字符号)。


[root@localhost ~]# /opt/mssql/bin/mssql-conf setup
选择 SQL Server 的一个版本:
  1) Evaluation (免费,无生产许可,180 天限制)
  2) Developer (免费,无生产许可)
  3) Express (免费)
  4) Web (付费版)
  5) Standard (付费版)
  6) Enterprise (付费版)
  7) Enterprise Core (付费版)
  8) 我通过零售渠道购买了许可证并具有要输入的产品密钥。

可在以下位置找到有关版本的详细信息:
https://go.microsoft.com/fwlink/?LinkId=852748&clcid=0x804

使用此软件的付费版本需要通过以下途径获取单独授权
Microsoft 批量许可计划。
选择付费版本即表示你具有适用的
要安装和运行此软件的就地许可证数量。

输入版本(1-8): 3
可以在以下位置找到此产品的许可条款:
/usr/share/doc/mssql-server 或从以下位置下载:
https://go.microsoft.com/fwlink/?LinkId=855862&clcid=0x804

可以从以下位置查看隐私声明:
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x804


选择 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 系统管理员密码: 
正在配置 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 正在启动。


四、 启动服务

  systemctl status mssql-server

五、 确认一下是否启动成功

  systemctl status mssql-server

六、 设置防火墙

要连接数据库,首先要打开防火墙上1433端口,也就是,增加tcp端口1433到公共区域,并且永久生效。


#添加防火墙端口 1433
  firewall-cmd --zone=public --add-port=1433/tcp --permanent 
  firewall-cmd --reload

 

七、 下载客户端工具源


curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo


八、 安装客户端工具


yum install -y mssql-tools


九、 本地连接

连接命令:


sqlcmd -S localhost -U SA -P '<YourPassword>'


以下步骤使用 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>

如果连接失败,先尝试诊断错误消息中所述的问题。 然后查看连接故障排除建议

十、 安装完整示例

连接成功
Last login: Fri Oct 22 11:15:43 2021 from 10.18.40.119
[root@localhost ~]# curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   232  100   232    0     0    514      0 --:--:-- --:--:-- --:--:--   515
[root@localhost ~]# yum install -y mssql-server
已加载插件:fastestmirror, langpacks
Determining fastest mirrors
 * base: ftp.sjtu.edu.cn
 * extras: ftp.sjtu.edu.cn
 * updates: ftp.sjtu.edu.cn
base                                                                                                                                                  | 3.6 kB  00:00:00     
extras                                                                                                                                                | 2.9 kB  00:00:00     
packages-microsoft-com-mssql-server-2017                                                                                                              | 3.0 kB  00:00:00     
updates                                                                                                                                               | 2.9 kB  00:00:00     
(1/5): packages-microsoft-com-mssql-server-2017/primary_db                                                                                            |  31 kB  00:00:00     
(2/5): base/7/x86_64/group_gz                                                                                                                         | 153 kB  00:00:00     
(3/5): extras/7/x86_64/primary_db                                                                                                                     | 243 kB  00:00:00     
(4/5): updates/7/x86_64/primary_db                                                                                                                    |  12 MB  00:00:02     
(5/5): base/7/x86_64/primary_db                                                                                                                       | 6.1 MB  00:00:04     
正在解决依赖关系
--> 正在检查事务
---> 软件包 mssql-server.x86_64.0.14.0.3411.3-16 将被 安装
--> 正在处理依赖关系 libatomic,它被软件包 mssql-server-14.0.3411.3-16.x86_64 需要
--> 正在处理依赖关系 cyrus-sasl,它被软件包 mssql-server-14.0.3411.3-16.x86_64 需要
--> 正在处理依赖关系 cyrus-sasl-gssapi,它被软件包 mssql-server-14.0.3411.3-16.x86_64 需要
--> 正在检查事务
---> 软件包 cyrus-sasl.x86_64.0.2.1.26-23.el7 将被 安装
---> 软件包 cyrus-sasl-gssapi.x86_64.0.2.1.26-23.el7 将被 安装
---> 软件包 libatomic.x86_64.0.4.8.5-44.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

=============================================================================================================================================================================
 Package                                架构                        版本                                 源                                                             大小
=============================================================================================================================================================================
正在安装:
 mssql-server                           x86_64                      14.0.3411.3-16                       packages-microsoft-com-mssql-server-2017                      209 M
为依赖而安装:
 cyrus-sasl                             x86_64                      2.1.26-23.el7                        base                                                           88 k
 cyrus-sasl-gssapi                      x86_64                      2.1.26-23.el7                        base                                                           41 k
 libatomic                              x86_64                      4.8.5-44.el7                         base                                                           51 k

事务概要
=============================================================================================================================================================================
安装  1 软件包 (+3 依赖软件包)

总下载量:209 M
安装大小:1.0 G
Downloading packages:
警告:/var/cache/yum/x86_64/7/base/packages/cyrus-sasl-gssapi-2.1.26-23.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
cyrus-sasl-gssapi-2.1.26-23.el7.x86_64.rpm 的公钥尚未安装
(1/4): cyrus-sasl-gssapi-2.1.26-23.el7.x86_64.rpm                                                                                                     |  41 kB  00:00:00     
(2/4): cyrus-sasl-2.1.26-23.el7.x86_64.rpm                                                                                                            |  88 kB  00:00:00     
(3/4): libatomic-4.8.5-44.el7.x86_64.rpm                                                                                                              |  51 kB  00:00:00     
警告:/var/cache/yum/x86_64/7/packages-microsoft-com-mssql-server-2017/packages/mssql-server-14.0.3411.3-16.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID be1229cf: NOKEYTA 
mssql-server-14.0.3411.3-16.x86_64.rpm 的公钥尚未安装
(4/4): mssql-server-14.0.3411.3-16.x86_64.rpm                                                                                                         | 209 MB  00:00:22     
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计                                                                                                                                         9.1 MB/s | 209 MB  00:00:23     
从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 检索密钥
导入 GPG key 0xF4A80EB5:
 用户ID     : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
 指纹       : 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
 软件包     : centos-release-7-6.1810.2.el7.centos.x86_64 (@anaconda)
 来自       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
从 https://packages.microsoft.com/keys/microsoft.asc 检索密钥
导入 GPG key 0xBE1229CF:
 用户ID     : "Microsoft (Release signing) <gpgsecurity@microsoft.com>"
 指纹       : bc52 8686 b50d 79e3 39d3 721c eb3e 94ad be12 29cf
 来自       : https://packages.microsoft.com/keys/microsoft.asc
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : cyrus-sasl-2.1.26-23.el7.x86_64                                                                                                                          1/4 
  正在安装    : libatomic-4.8.5-44.el7.x86_64                                                                                                                            2/4 
  正在安装    : cyrus-sasl-gssapi-2.1.26-23.el7.x86_64                                                                                                                   3/4 
  正在安装    : mssql-server-14.0.3411.3-16.x86_64                                                                                                                       4/4 

+--------------------------------------------------------------+
请运行 "sudo /opt/mssql/bin/mssql-conf setup"
完成 Microsoft SQL Server 的设置
+--------------------------------------------------------------+

需重启 SQL Server 才能应用此设置。请运行
"systemctl restart mssql-server.service"。
  验证中      : cyrus-sasl-gssapi-2.1.26-23.el7.x86_64                                                                                                                   1/4 
  验证中      : libatomic-4.8.5-44.el7.x86_64                                                                                                                            2/4 
  验证中      : cyrus-sasl-2.1.26-23.el7.x86_64                                                                                                                          3/4 
  验证中      : mssql-server-14.0.3411.3-16.x86_64                                                                                                                       4/4 

已安装:
  mssql-server.x86_64 0:14.0.3411.3-16                                                                                                                                       

作为依赖被安装:
  cyrus-sasl.x86_64 0:2.1.26-23.el7                      cyrus-sasl-gssapi.x86_64 0:2.1.26-23.el7                      libatomic.x86_64 0:4.8.5-44.el7                     

完毕!

[root@localhost ~]# /opt/mssql/bin/mssql-conf setup
选择 SQL Server 的一个版本:
  1) Evaluation (免费,无生产许可,180 天限制)
  2) Developer (免费,无生产许可)
  3) Express (免费)
  4) Web (付费版)
  5) Standard (付费版)
  6) Enterprise (付费版)
  7) Enterprise Core (付费版)
  8) 我通过零售渠道购买了许可证并具有要输入的产品密钥。

可在以下位置找到有关版本的详细信息:
https://go.microsoft.com/fwlink/?LinkId=852748&clcid=0x804

使用此软件的付费版本需要通过以下途径获取单独授权
Microsoft 批量许可计划。
选择付费版本即表示你具有适用的
要安装和运行此软件的就地许可证数量。

输入版本(1-8): 3
可以在以下位置找到此产品的许可条款:
/usr/share/doc/mssql-server 或从以下位置下载:
https://go.microsoft.com/fwlink/?LinkId=855862&clcid=0x804

可以从以下位置查看隐私声明:
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x804


选择 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 系统管理员密码: 
正在配置 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 正在启动。
[root@localhost ~]# systemctl status mssql-server
● mssql-server.service - Microsoft SQL Server Database Engine
   Loaded: loaded (/usr/lib/systemd/system/mssql-server.service; enabled; vendor preset: disabled)
   Active: active (running) since 五 2021-10-22 11:20:16 CST; 51s ago
     Docs: https://docs.microsoft.com/en-us/sql/linux
 Main PID: 11269 (sqlservr)
   CGroup: /system.slice/mssql-server.service
           ├─11269 /opt/mssql/bin/sqlservr
           └─11293 /opt/mssql/bin/sqlservr

10月 22 11:20:19 localhost.localdomain sqlservr[11269]: 2021-10-22 11:20:19.60 spid11s     2021-10-22 11:20:19.60 spid11s     Recovery is writing a checkpoint i...required.
10月 22 11:20:19 localhost.localdomain sqlservr[11269]: 2021-10-22 11:20:19.62 spid7s      2021-10-22 11:20:19.62 spid7s      0 transactions rolled back in data...required.
10月 22 11:20:19 localhost.localdomain sqlservr[11269]: 2021-10-22 11:20:19.62 spid7s      2021-10-22 11:20:19.62 spid7s      Recovery is writing a checkpoint i...required.
10月 22 11:20:19 localhost.localdomain sqlservr[11269]: 2021-10-22 11:20:19.74 spid11s     2021-10-22 11:20:19.74 spid11s     Polybase feature disabled.
10月 22 11:20:19 localhost.localdomain sqlservr[11269]: 2021-10-22 11:20:19.74 spid11s     2021-10-22 11:20:19.74 spid11s     Clearing tempdb database.
10月 22 11:20:20 localhost.localdomain sqlservr[11269]: 2021-10-22 11:20:19.99 spid11s     2021-10-22 11:20:20.00 spid11s     Starting up database 'tempdb'.
10月 22 11:20:20 localhost.localdomain sqlservr[11269]: 2021-10-22 11:20:20.11 spid20s     Service Broker 2021-10-22 11:20:20.11 spid20s     The Service Broker ...ed state.
10月 22 11:20:20 localhost.localdomain sqlservr[11269]: 2021-10-22 11:20:20.12 spid20s     Database Mirroring 2021-10-22 11:20:20.12 spid20s     The Database Mi...ed state.
10月 22 11:20:20 localhost.localdomain sqlservr[11269]: 2021-10-22 11:20:20.15 spid20s     2021-10-22 11:20:20.15 spid20s     Service Broker manager has started.
10月 22 11:20:20 localhost.localdomain sqlservr[11269]: 2021-10-22 11:20:20.24 spid7s      2021-10-22 11:20:20.25 spid7s      Recovery is complete. This is an i...required.
Hint: Some lines were ellipsized, use -l to show in full.
[root@localhost ~]# ps -ef | grep mssql
mssql    11269     1  0 11:20 ?        00:00:00 /opt/mssql/bin/sqlservr
mssql    11293 11269  6 11:20 ?        00:00:05 /opt/mssql/bin/sqlservr
root     13222  5998  0 11:21 pts/1    00:00:00 grep --color=auto mssql
[root@localhost ~]# firewall-cmd --zone=public --add-port=1433/tcp --permanent
success
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]# curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   193  100   193    0     0    403      0 --:--:-- --:--:-- --:--:--   403
[root@localhost ~]# yum install -y mssql-tools
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.ustc.edu.cn
 * extras: mirrors.ustc.edu.cn
 * updates: mirrors.ustc.edu.cn
packages-microsoft-com-prod                                                                                                                           | 3.0 kB  00:00:00     
packages-microsoft-com-prod/primary_db                                                                                                                | 496 kB  00:00:00     
正在解决依赖关系
--> 正在检查事务
---> 软件包 mssql-tools.x86_64.0.17.8.1.1-1 将被 安装
--> 正在处理依赖关系 msodbcsql17 >= 17.3.0.0,它被软件包 mssql-tools-17.8.1.1-1.x86_64 需要
--> 正在检查事务
---> 软件包 msodbcsql17.x86_64.0.17.8.1.1-1 将被 安装
--> 正在处理依赖关系 unixODBC >= 2.3.1,它被软件包 msodbcsql17-17.8.1.1-1.x86_64 需要
--> 正在处理依赖关系 libodbcinst.so.2()(64bit),它被软件包 msodbcsql17-17.8.1.1-1.x86_64 需要
--> 正在检查事务
---> 软件包 unixODBC.x86_64.0.2.3.7-1.rh 将被 安装
--> 解决依赖关系完成

依赖关系解决

=============================================================================================================================================================================
 Package                                架构                              版本                                  源                                                      大小
=============================================================================================================================================================================
正在安装:
 mssql-tools                            x86_64                            17.8.1.1-1                            packages-microsoft-com-prod                            287 k
为依赖而安装:
 msodbcsql17                            x86_64                            17.8.1.1-1                            packages-microsoft-com-prod                            905 k
 unixODBC                               x86_64                            2.3.7-1.rh                            packages-microsoft-com-prod                            213 k

事务概要
=============================================================================================================================================================================
安装  1 软件包 (+2 依赖软件包)

总下载量:1.4 M
安装大小:3.6 M
Downloading packages:
(1/3): mssql-tools-17.8.1.1-1.x86_64.rpm                                                                                                              | 287 kB  00:00:00     
(2/3): unixODBC-2.3.7-1.rh.x86_64.rpm                                                                                                                 | 213 kB  00:00:00     
(3/3): msodbcsql17-17.8.1.1-1.x86_64.rpm                                                                                                              | 905 kB  00:00:00     
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计                                                                                                                                         2.2 MB/s | 1.4 MB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : unixODBC-2.3.7-1.rh.x86_64                                                                                                                               1/3 
The license terms for this product can be downloaded from
https://aka.ms/odbc17eula and found in
/usr/share/doc/msodbcsql17/LICENSE.txt . By entering 'YES',
you indicate that you accept the license terms.

Do you accept the license terms? (Enter YES or NO)
YES
  正在安装    : msodbcsql17-17.8.1.1-1.x86_64                                                                                                                            2/3 
The license terms for this product can be downloaded from
http://go.microsoft.com/fwlink/?LinkId=746949 and found in
/usr/share/doc/mssql-tools/LICENSE.txt . By entering 'YES',
you indicate that you accept the license terms.

Do you accept the license terms? (Enter YES or NO)
YES
  正在安装    : mssql-tools-17.8.1.1-1.x86_64                                                                                                                            3/3 
  验证中      : msodbcsql17-17.8.1.1-1.x86_64                                                                                                                            1/3 
  验证中      : mssql-tools-17.8.1.1-1.x86_64                                                                                                                            2/3 
  验证中      : unixODBC-2.3.7-1.rh.x86_64                                                                                                                               3/3 

已安装:
  mssql-tools.x86_64 0:17.8.1.1-1                                                                                                                                            

作为依赖被安装:
  msodbcsql17.x86_64 0:17.8.1.1-1                                                        unixODBC.x86_64 0:2.3.7-1.rh                                                       

完毕!
[root@localhost ~]#

 


 

posted @ 2021-10-23 15:02  StarFox  阅读(678)  评论(0编辑  收藏  举报