本文從零開始一步一步介紹如何在Red Hat Enterprise Linux上搭建SQL Server 2017,包括安裝系統、安裝SQL等相關步驟和方法(僅供測試學習之用,基礎篇)。 一. 創建RHEL系統(Create Red Hat Enterprise Linux System) 1. 前 ...
本文從零開始一步一步介紹如何在Red Hat Enterprise Linux上搭建SQL Server 2017,包括安裝系統、安裝SQL等相關步驟和方法(僅供測試學習之用,基礎篇)。
一. 創建RHEL系統(Create Red Hat Enterprise Linux System)
1. 前提準備
由於本文主要研究SQL Server 2017在Linux上的搭建方法,從Install SQL Server on Linux中得知當前SQL Server 2017 CTP 2.1對於Red Hat Enterprise Linux僅支持7.3,因此選擇RHEL 7.3進行安裝。
由於習慣在VMware ESXi Server上搭建虛擬機,通過VMware Compatibility Guide查到,ESXi 5.1 U2以上版本就支持RHEL 7.x了,因此選擇ESXi 6.0安裝Red Hat Enterprise Linux 7.3。
2. 創建虛擬機
和正常在VMware上安裝虛擬機一樣,創建一個空的虛擬機安裝RHEL 7.3。註意事項如下:
- 如果要使用SQL Server,記憶體至少3.25GB以上;
- 如果要使用SQL Server,文件系統必須是XFS或者EXT4,其它如BTRFS是不支持的。
參考:https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup。
3. 安裝Red Hat Enterprise Linux 7.3
官方安裝指南:http://partnerweb.vmware.com/GOSIG/RHEL_7.html。
具體步驟如下:
a) 編輯虛擬機設置(Edit Settings…),添加RHEL安裝ISO文件到CD/DVD驅動上,勾選Connect at power on,確定後開機。
b) 切換到Console視窗,選擇Install Red Hat Enterprise Linux 7.3。
c) 這時可能出現黑屏沒有反應的情況,重新關閉vSphere Client開啟Console視窗即可(或者右擊虛擬機Open Console),出現如下界面點擊Continue即可。
d) 在Installation Summary頁面從上到下一個個設置即可(沒有介紹的請根據自己需求或者選擇預設選項)。如下圖設置DATE & TIME點擊Done。
e) 需要註意的是SOFTWARE SELECTION裡面可以設置預設基礎環境,一般情況最小安裝,如果需要特殊伺服器安裝特殊的即可。咱們開發測試的話推薦Server with GUI,這個自帶圖形界面,並且預設自動包括了Open VMware Tools的安裝。
f) 對於KDUMP,可以禁用。
g) NETWORK & HOST NAME。對於網路建議設置,如果環境中有DHCP伺服器,則開啟網路即可,否則手動設置靜態IP。
註意這裡設置Host name最好不要超過15個字元,否則以後安裝其它軟體如果不支持的話,可能會截斷機器名(比如配置SQL AG的話https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-availability-group-configure-ha ,如果已經設置了超長的,也可以在安裝完成後編輯/etc/hostname文件更改)。
h) SECURITY POLICY選擇Default即可。
i) 點擊Begin Installation即可開始安裝。安裝過程中設置Root賬戶的密碼和創建一個新賬戶。
註意如果密碼是弱密碼,則需要點擊兩次Done才能保存成功。
如下圖創建一個新用戶並設置成管理員
j) 都設置完等待安裝完成即可。
k) 點擊Reboot。以後可以彈出CD/DVD驅動ISO文件。
需要接受License。點擊Finish Configuration即可。
4. 優化RHEL系統操作
· 解決未註冊情況下無法使用預設源的問題
正常情況下,需要購買訂閱才能使用RHEL系統。我們自己以學習為目的的研究,這裡介紹一種方法可以不註冊而測試使用yum源:將Red Hat Enterprise Linux的預設Yum替換成CENTOS的(CentOS和RHEL基本上沒有區別,並且CentOS是開源的已經被RHEL收購,這種方法僅可以用於測試)。
a) 進入超級用戶模式:
sudo su
b) 查看已安裝的yum並卸載原有RHEL的yum及相關軟體包:
rpm -qa | grep yum rpm -qa | grep yum | xargs rpm -e --nodeps
c) 下載CENTOS的相關軟體包:
wget http://mirrors.163.com/centos/7.3.1611/os/x86_64/Packages/yum-3.4.3-150.el7.centos.noarch.rpm wget http://mirrors.163.com/centos/7.3.1611/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-40.el7.noarch.rpm wget http://mirrors.163.com/centos/7.3.1611/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
d) 安裝軟體包(部分軟體包有依賴關係,所以最好一起安裝):
rpm -ivh *.rpm
e) 進入到yum配置文件目錄並下載CENTOS配置文件,最後更改$releasever為7(也可以手動Edit更改每一個$releasever為7):
cd /etc/yum.repos.d/ wget http://mirrors.163.com/.help/CentOS7-Base-163.repo sed -i "s/\$releasever/7/g" CentOS7-Base-163.repo
f) 清空並更新yum緩存:
yum clean all yum makecache
g) 至此已經更換完yum,可以執行以下命令安裝epel源:
sudo yum install epel-release
Note:有時候可能某一個源的伺服器不可用,需要手動更換或者添加源,可以通過這個站點來查詢源狀態:http://mirror-status.centos.org/#cn。
· 提醒未註冊信息的去除(Remove the information of not registered to Red Hat Subscription Management)
如果沒有註冊系統,經常會出現這樣的提醒”This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register”。
執行以下命令可以去除註冊提示:
a) 查看環境中已有的subscription相關包:
yum list all | grep subscription
b) 刪除subscription-manager軟體包:
sudo yum remove subscription-manager
· 解決從Windows遠程連接RHEL系統的問題
由於經常使用Windows,目前我發現的兩種比較方便的從Windows遠程操作連接RHEL系統的方法。一是利用Xshell工具(免費SSH客戶端),可以直接使用sz和rz命令進行Windows和Linux系統文件之間的傳輸。另外是搭建VNC Server,這樣在Windows上就可以使用VNC Client進行遠程連接操作,類似Windows中的遠程桌面連接。在RHEL 7上搭建VNC Server的步驟如下:
a) 進入超級用戶模式:
sudo su
b) 安裝GNOME Desktop:
yum groupinstall "GNOME Desktop" "Graphical Administration Tools"
c) 安裝tigervnc server和X11 fonts:
yum install tigervnc-server xorg-x11-fonts-Type1
d) 複製配置文件並更改<USER>欄位為真實User Name:
cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:5.service vi /etc/systemd/system/vncserver@:5.service
更改前:
更改後:
e) 開啟防火牆埠:
firewall-cmd --permanent --zone=public --add-port=5905/tcp firewall-cmd --reload
f) 退出超級用戶模式,開啟VNC Server並設置密碼:
exit
vncserver
g) 進入超級用戶模式並重新載入daemon
sudo su systemctl daemon-reload
h) 開啟服務並設置為開機啟動
systemctl start vncserver@:5.service systemctl enable vncserver@:5.service
i) 使用VNC Client進行連接,註意這裡需要加上前面設置的埠號10.2.38.200:5或者10.2.38.200:5905。
Note:
- VNC Client可以從這裡下載。
- 參考文檔:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/ch-TigerVNC.html#sec-vnc-installation。
二. 安裝SQL Server(Install SQL Server)
1. 安裝SQL Server
官方安裝指南:https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-red-hat。
安裝步驟如下:
a) 進入到超級用戶模式:
sudo su
b) 下載Microsoft SQL Server Red Hat repository配置文件:
curl https://packages.microsoft.com/config/rhel/7/mssql-server.repo > /etc/yum.repos.d/mssql-server.repo
c) 安裝SQL Server:
yum install -y mssql-server
d) 初始化SQL Server配置:
/opt/mssql/bin/mssql-conf setup
e) 確認SQL Server服務的狀態:
systemctl status mssql-server
f) 設置防火牆開啟SQL Server服務埠:
firewall-cmd --zone=public --add-port=1433/tcp --permanent firewall-cmd --reload
g) 退出超級管理員模式:
exit
這時就可以用Windows中的SQL Server Management Studio去連接訪問資料庫了。
預設認證方式是SQL Server認證,預設管理員用戶是sa,密碼是在d)步驟設置的密碼。從上圖看到資料庫預設路徑是/var/opt/mssql/data/,此為Linux路徑。
2. 安裝SQL Server Tools
官方安裝文檔見:https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-tools#RHEL。
具體安裝mssql-tools步驟如下:
a) 進入到超級用戶模式:
sudo su
b) 下載Microsoft SQL Server Red Hat repository配置文件:
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo
c) 如果安裝過mssql-tools,首先卸載原來的unixODBC的包:
yum update yum remove unixODBC-utf16 unixODBC-utf16-devel
d) 安裝mssql-tools
yum update yum install mssql-tools unixODBC-devel
如果遇到安裝不上的情況,可能是由於最新更新包與當前系統不相容或者最新更新包不穩定,可以執行如下命令安裝指定版本(僅適用於RHEL 7):
ACCEPT_EULA=Y yum install msodbcsql-13.0.1.0-1 mssql-tools-14.0.2.0-1 yum install unixODBC-utf16-devel
其它系統版本解決命令參考:https://blogs.msdn.microsoft.com/sqlnativeclient/2016/10/20/odbc-driver-13-0-for-linux-released/comment-page-2/。
e) 為了以後方便使用sqlcmd,把安裝目錄添加到bash shell環境變數中:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc source ~/.bashrc
Note:環境變數是用戶級別的,如果在root下執行上述命令,則只有root用戶可以直接使用sqlcmd,建議在root下執行一次再exit後執行一次。
f) 安裝完成後就可以使用sqlcmd tool了。
關於sqlcmd的使用可以參考:https://docs.microsoft.com/en-us/sql/tools/sqlcmd-utility。
[原創文章,轉載請註明出處,僅供學習研究之用,如有錯誤請留言,謝謝支持]