本文內容是採集的好幾位博主的博文進行的一個整合,內容更爲精準和詳盡,如下是我參照的幾篇博文地址:html
微軟官方文檔:https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-setup?view=sql-server-ver15python
CallousMaster:https://blog.51cto.com/13770206/2429881linux
(機器空閒內存低於2G時的解決方案)sql
這就是Me:http://www.javashuo.com/article/p-eoenijam-dk.html 數據庫
老張一笑:http://www.javashuo.com/article/p-sffabqgg-md.htmlwindows
而後接下來的內容,我會結合我我的實際安裝過程當中碰到的問題,將每一步都寫明。tcp
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
yum install -y mssql-server
cd /opt/mssql/bin/
mv sqlservr sqlservr.old
python
oldfile = open("sqlservr.old", "rb").read() newfile = oldfile.replace("\x00\x94\x35\x77", "\x00\x80\x84\x1e") open("sqlservr", "wb").write(newfile) exit()
/opt/mssql/bin/mssql-conf setup
輸入數字,選擇所要安裝的版本,而後在出現詢問是否接受許可條款時,輸入yes,回車繼續下一步。工具
到了這一步的時候,輸入SA用戶密碼(密碼長度八位以上,且密碼必須包含數字、字母和特殊字符),注意在輸入密碼的時候,窗口上是不顯示任何字符的,因此輸入完以後,直接回車,而後再輸入一遍,回車確認。sqlserver
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
若是執行上述命令的時候,出現這種錯誤
則表示防火牆未開啓,這種狀況能夠跳過防火牆設置,直接進行下一步
wget -O /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
yum remove unixODBC-utf16 unixODBC-utf16-devel
yum install -y mssql-tools unixODBC-devel
echo "export PATH=$PATH:/opt/mssql-tools/bin" >> /etc/profile
source /etc/profile
sqlcmd -S localhost -U SA -p
出現這個界面,表示登陸成功,而後咱們能夠開始寫SQL命令。
首先咱們先執行一句SQL語句,建立一個測試數據庫,檢測是否有效。
CREATE DATABASE [Test]
GO
SELECT [Name] FROM SYS.DATABASES
GO