本文內容是採集的好幾位博主的博文進行的一個整合,內容更為精準和詳盡,以下是我參照的幾篇博文地址: 微軟官方文檔:https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-setup?view=sql-server-ver15 Callou ...
本文內容是採集的好幾位博主的博文進行的一個整合,內容更為精準和詳盡,以下是我參照的幾篇博文地址:
微軟官方文檔:https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-setup?view=sql-server-ver15
CallousMaster:https://blog.51cto.com/13770206/2429881
(機器空閑記憶體低於2G時的解決方案)
這就是Me:https://www.cnblogs.com/johnwii/p/8525490.html
老張一笑:https://www.cnblogs.com/xtdhb/p/11357702.html
然後接下來的內容,我會結合我個人實際安裝過程中碰到的問題,將每一步都寫明。
下載阿裡雲線上yum源到本地
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
下載微軟官方的sqlserver源到本地
wget -O /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
安裝mssql-server(SQL Server軟體包)
yum install -y mssql-server
接下來就是要指定安裝哪一個版本了,但是如果機器空閑記憶體低於2G的話,請繼續按照以下步驟,否則,請跳過以下幾步
破解記憶體限制
首先切換到 /opt/mssql/bin 目錄下
cd /opt/mssql/bin/
然後保存備份文件
mv sqlservr sqlservr.old
使用python修改二進位文件,把裡面的2G記憶體限制改為512M
python
oldfile = open("sqlservr.old", "rb").read() newfile = oldfile.replace("\x00\x94\x35\x77", "\x00\x80\x84\x1e") open("sqlservr", "wb").write(newfile) exit()
選擇想要安裝的sql server版本,以及設置SA用戶密碼
/opt/mssql/bin/mssql-conf setup
輸入數字,選擇所要安裝的版本,然後在出現詢問是否接受許可條款時,輸入yes,回車繼續下一步。
到了這一步的時候,輸入SA用戶密碼(密碼長度八位以上,且密碼必須包含數字、字母和特殊字元),註意在輸入密碼的時候,視窗上是不顯示任何字元的,所以輸入完之後,直接回車,然後再輸入一遍,回車確認。
運行命令,檢查SQL server狀態(運行是否有問題)
systemctl status mssql-server
如果出現瞭如下圖這種錯誤:
在啟動SQL server引擎的時候出現了錯誤。
關於這個的解決方案就是,我們需要設置一下 /opt/mssql/bin/sqlservr 目錄的許可權,讓SQL server可以訪問
cd /opt/mssql/bin/
chmod 777 sqlservr
這次許可權分配完成,接著重新輸入命令,再次安裝
/opt/mssql/bin/mssql-conf setup
安裝完成之後,再次檢查SQL server的狀態
systemctl status mssql-server
出現如下圖界面,則表示已安裝成功
設置防火牆,開啟遠程連接
firewall-cmd --zone=public --add-port=1433/tcp --permanent
firewall-cmd --reload
如果執行上述命令的時候,出現這種錯誤
則表示防火牆未開啟,這種情況可以跳過防火牆設置,直接進行下一步
安裝sqlserver命令行工具
下載微軟官方的軟體包yum源
wget -O /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
如果以前裝過mssql,則需要刪除較舊的UnixODBC軟體包
yum remove unixODBC-utf16 unixODBC-utf16-devel
安裝mssql工具包和UnixODBC開發人員軟體包(這一步命令會出現兩次詢問:是否接受許可條款,都輸入yes,回車確定)
yum install -y mssql-tools unixODBC-devel
添加PATH環境變數
echo "export PATH=$PATH:/opt/mssql-tools/bin" >> /etc/profile
source /etc/profile
使用sqlcmd命令連接本地的sqlserver,輸入之前設置的SA密碼
sqlcmd -S localhost -U SA -p
出現這個界面,表示登錄成功,然後我們可以開始寫SQL命令。
首先我們先執行一句SQL語句,創建一個測試資料庫,檢測是否有效。
CREATE DATABASE [Test]
GO
SELECT [Name] FROM SYS.DATABASES
GO
打開本地windows端的SSMS,遠程連接CentOS中的SQL Server