sqlserver 2017支持在Linux上安裝,推薦在redhat7.7之后、suselinuxv12(sp3-sp5)或者v15(sp1-sp3)、Ubuntu 18.04 3 或 20.04安裝。
作者簡介:王旭,在數據庫管理方面擁有10多年經驗。精通主流數據庫系統,在企業數據庫管理、性能優化、架構設計和高可用性能解決方案方面擁有豐富得實踐經驗。目前擁有(ORACLE ACE、MYSQL OCP、PG ACE、PGCA、PGCE、PGCM)等數據庫認證。
參考:https://learn.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-red-hat?view=sql-server-linux-ver15&preserve-view=true&tabs=rhel8
第一、介紹sqlserver支持在linux支持安裝的版本信息
** sqlserver 2017(首次支持)、2019、2022,也就是說從2017開始后面都支持在linux上安裝。具體在哪些linux能夠安裝呢?redhat7.7之后、suselinuxv12(sp3-sp5)或者v15(sp1-sp3)、Ubuntu 18.04 3 或 20.04;
** sqlserver2017安裝包版本號為14.x,sqlserver2019安裝包版本號為15.x,sqlserver2022安裝包版本號為16.x.
第二、sqlserver支持在linux安裝方式介紹
###在線安裝
** 要求網絡聯通
1、下載 SQL Server 2019 (15.x) Red Hat 存儲庫配置文件:
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2019.repo
2、運行以下命令以安裝 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、防火墻允許端口
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
###離線安裝
1、下載地址
https://packages.microsoft.com/rhel/7/mssql-server-2017/Packages/m/
https://packages.microsoft.com/rhel/7/mssql-server-2019/Packages/m/
https://packages.microsoft.com/rhel/8/mssql-server-2019/Packages/m/

2、上傳到服務器安裝
[root@pg1 soft]# yum -y install mssql-server-15.0.4375.4-1.x86_64.rpm
注意:安裝后會創建一個服務,后面初始化后會從這個服務再創建一個軟連接
[root@ol71 soft]# ll /usr/lib/systemd/system/mssql-server.service
-rw-r--r--. 1 root root 655 6月 11 2024 /usr/lib/systemd/system/mssql-server.service
第三、sqlserver初始化方式介紹
###交互式初始化
所謂交互式初始化就是安裝了上述軟件后,執行mssql-conf setup,然后根據提示選擇初始化的版本、安裝的語言、以及設置sqlserver sa管理員的密碼。提示一步做一步。該操作最大的敗筆就是不能自定義數據文件路徑。
[root@pg1 soft]# sudo /opt/mssql/bin/mssql-conf setup
選擇 SQL Server 的一個版本:
1) Evaluation (免費,無生產許可,180 天限制)
2) Developer (免費,無生產許可)
3) Express (免費)
4) Web (付費版)
5) Standard (付費版)
6) Enterprise (付費版) - CPU 核心利用率限制為 20 個物理/40 個超線程
7) Enterprise Core (付費版) - CPU 核心利用率達到操作系統最大值
8) 我通過零售渠道購買了許可證并具有要輸入的產品密鑰。
可在以下位置找到有關版本的詳細信息:
https://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x804
使用此軟件的付費版本需要通過以下途徑獲取單獨授權
Microsoft 批量許可計劃。
選擇付費版本即表示你具有適用的
要安裝和運行此軟件的就地許可證數量。
輸入版本(1-8): 8 ,然后輸入注冊碼
可以在以下位置找到此產品的許可條款:
/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 系統管理員密碼: 123qwe,./
確認 SQL Server 系統管理員密碼: 123qwe,./
正在配置 SQL Server...
已成功處理授權 PID。新版本為 [Enterprise Edition: Core-based Licensing]。
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 正在啟動。
###非交互式初始化
靜默安裝,把參數全部寫好,然后一鍵執行;好處就是靈活,自己想怎么來就怎么來。
關于參數設置,參考:
--關于環境變量設置
https://learn.microsoft.com/zh-cn/sql/linux/sql-server-linux-configure-environment-variables?view=sql-server-ver15
操作步驟:
--創建以上的目錄;
rm -f /var/opt/mssql/mssql.conf
rm -fr /sqlserverdata/
mkdir -p /sqlserverdata/logs
mkdir -p /sqlserverdata/dump
mkdir -p /sqlserverdata/backup
mkdir -p /sqlserverdata/udata
mkdir -p /sqlserverdata/masterdb/
sudo chown -R mssql.mssql /sqlserverdata/
sudo ACCEPT_EULA='Y' MSSQL_SA_PASSWORD='123qwe,./' MSSQL_PID='2C9JR-K3RNG-QD4M4-JQ2HR-8468J' MSSQL_LCID='2052' MSSQL_COLLATION='Chinese_PRC_CI_AS' MSSQL_MEMORY_LIMIT_MB='2048' MSSQL_TCP_PORT='1433' MSSQL_IP_ADDRESS='192.168.133.97' MSSQL_BACKUP_DIR='/sqlserverdata/backup' MSSQL_DATA_DIR='/sqlserverdata/udata' MSSQL_LOG_DIR='/sqlserverdata/udata' MSSQL_DUMP_DIR='/sqlserverdata/dump' MSSQL_MASTER_DATA_FILE='/sqlserverdata/masterdb/master.mdf' MSSQL_MASTER_LOG_FILE='/sqlserverdata/masterdb/mastlog.ldf' MSSQL_ERROR_LOG_FILE='/sqlserverdata/logs/errorlog' MSSQL_AGENT_ENABLED='true' /opt/mssql/bin/mssql-conf setup
-n就是不提示,不加就是顯示下面的到終端屏幕
第四,初始化完成后確認
[root@ol71 masterdb]# ps -ef|grep mssql
mssql 11946 1 0 02:37 ? 00:00:00 /opt/mssql/bin/sqlservr
mssql 11970 11946 1 02:37 ? 00:00:21 /opt/mssql/bin/sqlservr
root 12482 3023 0 02:56 pts/1 00:00:00 grep --color=auto mssql
[root@ol71 masterdb]# ss -lnt|grep 1433
LISTEN 0 128 192.168.133.97:1433 *:*
[root@ol71 masterdb]# sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
[root@ol71 masterdb]# sudo firewall-cmd --reload
--按照上面的初始化完成后,數據全部在/sqlserverdata/下
SELECT * from sys.master_files;
第五,安裝 SQL Server 命令行工具
安裝 SQL Server 命令行工具
https://learn.microsoft.com/zh-cn/sql/linux/sql-server-linux-setup-tools?view=sql-server-linux-ver15&tabs=redhat-install
若要創建數據庫,則需要使用可在 SQL Server 上運行 Transact-SQL 語句的工具進行連接。 按照以下步驟安裝 SQL Server 命令行工具:sqlcmd 實用工具 和 bcp 實用工具。
? sqlcmd:命令行查詢實用工具。
? bcp:批量導入-導出實用工具。
方法1,在線安裝
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
方法2,脫機安裝
如果 Linux 計算機不能訪問之前部分中使用的在線存儲庫,則可以直接下載包文件。 這些包位于 Microsoft 存儲庫中,地址為 https://packages.microsoft.com。
1.首先,找到并復制適用于你的 Linux 分發版的 mssql-tools18 包。 對于 Red Hat 8.0,此包位于 https://packages.microsoft.com/rhel/8/prod。
2.此外,找到并復制 msodbcsql18 包,它是一個依賴項。 msodbcsql18 包在 unixODBC-devel 上還有一個依賴項。 對于 Red Hat,msodbcsql18 包位于https://packages.microsoft.com/rhel/8/prod。
3.將下載的包移至 Linux 計算機。 如果使用了不同的計算機下載包,則可以通過“scp”命令將包移至你的 Linux 計算機。
4.安裝包:安裝 mssql-tools18 和 msodbc18 包。 如果遇到任何依賴項錯誤,請忽略,直到出現下一步操作。 將 <version> 替換為正確的版本:
sudo yum localinstall msodbcsql18-<version>.rpm
sudo yum localinstall mssql-tools18-<version>.rpm
5.解決缺少依賴項的問題:此時可能會出現缺少依賴項的情況。 如果沒有,可以跳過此步驟。 在某些情況下,必須手動查找并安裝這些依賴項。
安裝示例:
[root@ol71 soft]# yum -y install msodbcsql18-18.4.1.1-1.x86_64.rpm
[root@ol71 soft]# yum -y install mssql-tools18-18.4.1.1-1.x86_64.rpm
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
[root@ol71 soft]# sqlcmd -S 192.168.133.97,1433 -U sa -Q "select @@version" -C
Password:
第六,安裝 SQL Server 命令行工具后測試
[root@ol71 soft]# sqlcmd -S 192.168.133.97,1433 -U sa -Q "select @@version" -C
Password:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Microsoft SQL Server 2019 (RTM-CU27) (KB5037331) - 15.0.4375.4 (X64)
Jun 10 2024 18:00:07
Copyright (C) 2019 Microsoft Corporation
Standard Edition (64-bit) on Linux (Oracle Linux Server 7.9) <X64>
(1 rows affected)
[root@ol71 logs]# sqlcmd -S 192.168.133.97,1433 -U sa -C
CREATE DATABASE TestDB;
SELECT Name from sys.databases;
前兩個命令沒有立即執行。 必須在新行中鍵入 GO 才能執行以前的命令:
go
USE TestDB;
CREATE TABLE dbo.Inventory (
id INT,
name NVARCHAR(50),
quantity INT,
PRIMARY KEY (id)
);
INSERT INTO dbo.Inventory VALUES (1, 'banana', 150);
INSERT INTO dbo.Inventory VALUES (2, 'orange', 154);
go
SELECT * FROM dbo.Inventory
WHERE quantity > 152;
go
QUIT
第七、總結
1、linux安裝sqlserver生成使用的不多,我所有的操作全部是按照官網的文檔摸索過來,對于全中文來說,這一點還是比較好。
2、sqlserver安裝分兩步:
1)yum -y install mssql-server-15.0.4375.4-1.x86_64.rpm ,該步簡單理解就是將軟件可執行文件生成到/opt/mssql/目錄下;然后生成一個自動啟動sqlserver的原始服務/usr/lib/systemd/system/mssql-server.service
2)執行mssql-conf setup配置后,產生/var/opt/mssql/data/目錄,/var/opt/mssql/mssql.conf配置文件目錄,同時根據/usr/lib/systemd/system/mssql-server.service創建一個軟連接到/etc/systemd/system/multi-user.target.wants/mssql-server.service;
3、總體來講還是比較簡單,了解了安裝就知道怎么卸載了。卸載實例和卸載軟件或者只刪除實例重新初始化就太簡單了。
后續將持續分享,歡迎關注~
原文來源:https://mp.weixin.qq.com/s/V3wDdZj-xeO87RzakicJuQ
來源:本文內容搜集或轉自各大網絡平臺,并已注明來源、出處,如果轉載侵犯您的版權或非授權發布,請聯系小編,我們會及時審核處理。
聲明:江蘇教育黃頁對文中觀點保持中立,對所包含內容的準確性、可靠性或者完整性不提供任何明示或暗示的保證,不對文章觀點負責,僅作分享之用,文章版權及插圖屬于原作者。
Copyright?2013-2024 JSedu114 All Rights Reserved. 江蘇教育信息綜合發布查詢平臺保留所有權利
蘇公網安備32010402000125
蘇ICP備14051488號-3技術支持:南京博盛藍睿網絡科技有限公司
南京思必達教育科技有限公司版權所有 百度統計