零、 前言
本快速入門介紹如何在 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 ~]#
