1. 程式人生 > 實用技巧 >centos7.x中安裝SQL Server

centos7.x中安裝SQL Server

本文內容是採集的好幾位博主的博文進行的一個整合,內容更為精準和詳盡,以下是我參照的幾篇博文地址:

微軟官方文件: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

然後接下來的內容,我會結合我個人實際安裝過程中碰到的問題,將每一步都寫明。

1.1 下載阿里雲線上yum源到本地

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

1.2 下載微軟官方的sqlserver源到本地

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

1.3 安裝mssql-server(SQL Server軟體包)

yum install -y mssql-server

接下來就是要指定安裝哪一個版本了,但是如果機器空閒記憶體低於2G的話,請繼續按照以下步驟,否則,直接進行第三部分

破解記憶體限制

2.1 首先切換到 /opt/mssql/bin 目錄下

cd /opt/mssql/bin/

2.2 然後儲存備份檔案

mv sqlservr sqlservr.old

2.3 使用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()

3.1 選擇想要安裝的sql server版本,以及設定SA使用者密碼

/opt/mssql/bin/mssql-conf setup

輸入數字,選擇所要安裝的版本,然後在出現詢問是否接受許可條款時,輸入yes,回車繼續下一步。

到了這一步的時候,輸入SA使用者密碼(密碼長度八位以上,且密碼必須包含數字、字母和特殊字元),注意在輸入密碼的時候,視窗上是不顯示任何字元的,所以輸入完之後,直接回車,然後再輸入一遍,回車確認。

3.2 執行命令,檢查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

出現如下圖介面,則表示已安裝成功

3.1 設定防火牆,開啟遠端連線

firewall-cmd --zone=public --add-port=1433/tcp --permanent
firewall-cmd --reload

如果執行上述命令的時候,出現這種錯誤

則表示防火牆未開啟,這種情況可以跳過防火牆設定,直接進行下一步

安裝sqlserver命令列工具

4.1 下載微軟官方的軟體包yum源

wget -O  /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo

4.2 如果以前裝過mssql,則需要刪除較舊的UnixODBC軟體包

yum remove unixODBC-utf16 unixODBC-utf16-devel 

4.3 安裝mssql工具包和UnixODBC開發人員軟體包(這一步命令會出現兩次詢問:是否接受許可條款,都輸入yes,回車確定)

yum install -y mssql-tools unixODBC-devel 

4.4 新增PATH環境變數

echo "export PATH=$PATH:/opt/mssql-tools/bin" >> /etc/profile
source /etc/profile

4.5 使用sqlcmd命令連線本地的sqlserver,輸入之前設定的SA密碼

sqlcmd -S localhost -U SA -p

出現這個介面,表示登入成功,然後我們可以開始寫SQL命令。

首先我們先執行一句SQL語句,建立一個測試資料庫,檢測是否有效。

CREATE DATABASE [Test]
GO

SELECT [Name] FROM SYS.DATABASES
GO

5.1 開啟本地windows端的SSMS,遠端連線CentOS中的SQL Server