Linux 版本的 SQL Server 快速安裝

dbLenis發表於2018-08-13

SQL Server 2017 版本已經支援 Linux 安裝了,出來了很長時間,我還沒有實現過在 Linux 上面的應用,包括安裝和高可用配置。本文就先嚐試完成 Linux 版 SQL Server 的安裝。

經常在 Windows 下安裝 SQL Server 失敗的同學們有福了,因為按照下面的步驟,不超過 15 分鐘,你就可以直接體驗 SQL 開發之旅!

SQL Server 在 CentOS 上的安裝

步驟:

  1. 安裝映象
  2. 執行配置檔案
  3. 開啟防火牆對 SQL Server 指定埠限制
  4. 安裝管理工具

注意點:

1 安裝庫的配置:

安裝映象的時候,正確處理依賴軟體包:選用的 Linux 版本是 Centos 7, 微軟的官方文件中並沒有給出針對 Centos 7 的安裝指南,但 Centos 是基於 RedHat 衍生出來的版本,因此嘗試使用 RedHat 的安裝方法,應該也奏效。

固然可以離線安裝 SQL Server, 只要對 SQL Server On Linux 的包依賴都自信能搞定。為了方便起見,我在這裡還是堅持用了配置 Repository 的方式,讓微軟搞定這些依賴關係。

這裡不得不提一下對 YUM 的配置了。YUM 管理的就是包依賴,其實質是對軟體的依賴做本地快取,方便安裝的時候,能自動化處理包依賴關係。

配置 Installation Online Repository:

微軟已經為我們配置好了 repo 檔案,將其複製到 /etc/yum.repos.d下即可:

wget https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo -O /etc/yum.repos.d/mssql-server.repo
線上安裝 SQL Server
yum install mssql-server -y

安裝之前先配置足夠的記憶體,過小的記憶體將不能順利安裝,4GB 以上夠用

sqlservr: This program requires a machine with at least 3250 megabytes of memory.
Microsoft(R) SQL Server(R) setup failed with error code 1.

善後工作
/opt/mssql/bin/sqlservr-setup

根據最新的 MSDN 文件解釋,設定 SA 密碼和版本,應該是執行:

/opt/mssql/bin/mssql-conf setup

選擇版本和設定 SA 密碼 l*s6.

==思考:==

並沒有指定 SQL Server 安裝在 /opt/mssql 目錄下,是怎麼配置安裝路徑的?

一開始提的問題,在安裝過程中已經得到了解釋,因為這是預設路徑。

重新啟動 SQL Server Service 使其設定生效:

+--------------------------------------------------------------+
Please run 'sudo /opt/mssql/bin/mssql-conf setup'
to complete the setup of Microsoft SQL Server
+--------------------------------------------------------------+

SQL Server needs to be restarted in order to apply this setting. Please run
'systemctl restart mssql-server.service'.
  Verifying  : mssql-server-14.0.3030.27-1.x86_64
檢測資料庫執行狀態
systemctl status mssql-server

預設情況下,Linux 的埠是被防火牆給遮蔽的,因此需要開啟防火牆對埠的允許,才能使得遠端客戶端訪問本機服務。

firewall-cmd --zone=public --add-port=1433/tcp --permanent
firewall-cmd --reload
2 安裝命令列管理工具

在沒有SSMS(sql server management studio)的環境中,需要安裝一些可執行 SQL 的客戶端工具,以便用來建立資料庫物件以及運算元據。常用的工具有 sqlcmd 和 bcp.

curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
yum install -y mssql-tools unixODBC-devel

眾所周知,任何命令都需要在 PATH 環境中指定路徑,才能直接執行,因此需要將 mssql-tools 的執行路徑新增到本地或者全域性的 PATH 檔案中去。路徑是預設的 /opt/mssql-tools/bin/

測試 SA 賬戶的連線:

sqlcmd -S localhost -U SA -P '<Password>'

如果碰到連線錯誤,說明需要換個方式登入本機,即使用 127.0.0.1

Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Login timeout expired.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : TCP Provider: Error code 0x102.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : A network-related or instance-specific error has occurred while establishing a connection to SQL ServerServer is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online..
sqlcmd -S 127.0.0.1 -U SA -P '<Password>'

方便快捷的安裝,如果微軟推出一個 community edition, 我估計就沒 mysql 啥事兒了。當然是玩笑話,mysql 有其自己的特性,比如外掛式儲存引擎,別的資料庫沒有辦法取代。

其他客戶端工具:

除了 sqlcmd, bcp, SSMS (on Windows),還可以使用以下工具:

  • SQL Operations Studio
  • mssql-cli
  • Visual Studio Code

上述三種都可以跨平臺使用。首推 SQL Server Operations Studio, 2017年11月出了第一個版本,他的優點在於視覺化的 DashBoard, 平時要自己寫報表來監控伺服器以及資料庫健康狀態,現在用這個整合工具就可以實現了。

讓我們感受下 SOS(SQL Operations Studio)的輕便和強大

經常安裝不了 SQL Server 的朋友們,建議按照以上的步驟,15 分鐘內即可完成 SQL Server 的無故障安裝,開始你的 SQL 之旅!

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

安裝 SQL Server 過程中,可能會遇到的一些步驟截圖,給個參考:
尤其注意需要手工執行命令的地方,都有詳細的路徑給到

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

來這裡一起討論 SQL 等資料領域的技術吧

這裡寫圖片描述

相關文章