安裝過程
注意SQL server需要至少2-3G內存,安裝前請檢查
整個安裝過程非常簡單。
可以參考微軟的詳細文檔: 在 Linux 上的 SQL Server 安裝指南,包含了在多個Linux分支上安裝的方法。
本文用root身份來執行,如果不是root賬號,需要在下面的各種命令前面,加上 sudo,就用模擬root賬號運行各種命令。
(1)下載 Microsoft SQL Server Red Hat 存儲庫配置文件
curl https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo > /etc/yum.repos.d/mssql-server.repo
(2)安裝 SQL Server
yum install -y mssql-server
(3)軟件包安裝完成後,運行mssql conf 安裝命令(和2016的安裝命令有區別),進行配置。
sqlserver-2017:
/opt/mssql/bin/mssql-conf setup
sqlserver-2016:
/opt/mssql/bin/mssql-server setup
根據提示:
第1,選擇版本,這裏選擇輸入 1,就是評估版。
第2,接受條款。
第3,選擇語言,這裏選擇的10,就是簡體中文。
第4,輸入SA的密碼,密碼要求是至少8位,包含數字、大小寫字母、符號的,強安全性。
第5步,配置程序會創建mssql-server服務,設置開機自啓動。
[root@localhost ~]# /opt/mssql/bin/mssql-conf setup
選擇 SQL Server 的一個版本:
1) Evaluation (免費,無生產許可,180 天限制)
2) Developer (免費,無生產許可)
3) Express (免費)
4) Web (付費版)
5) Standard (付費版)
6) Enterprise (付費版)
7) Enterprise Core (付費版)
8) 我通過零售渠道購買了許可證並具有要輸入的產品密鑰。
可在以下位置找到有關版本的詳細信息:
https://go.microsoft.com/fwlink/?LinkId=852748&clcid=0x804
使用此軟件的付費版本需要通過以下途徑獲取單獨授權
Microsoft 批量許可計劃。
選擇付費版本即表示你具有適用的
要安裝和運行此軟件的就地許可證數量。
輸入版本(1-8): 1
可以在以下位置找到此產品的許可條款:
/usr/share/doc/mssql-server 或從以下位置下載:
https://go.microsoft.com/fwlink/?LinkId=855864&clcid=0x804
可以從以下位置查看隱私聲明:
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x804
接受此許可條款嗎? [Yes/No]:Yes
選擇 SQL Server 的語言:
(1) English
(2) Deutsch
(3) Español
(4) Français
(5) Italiano
(6) 日本語
(7) 한국어
(8) Português
(9) Русский
(10) 中文 – 簡體
(11) 中文 (繁體)
輸入選項 1-11:10
輸入 SQL Server 系統管理員密碼:
指定的密碼不符合 SQL Server 密碼策略要求,因爲它不夠複雜。
密碼必須至少包含 8 個字符,幷包含以下四種字符集中的任意三種: 大寫字母、小寫字母、數字和符號。
輸入 SQL Server 系統管理員密碼:
確認 SQL Server 系統管理員密碼:
正在配置 SQL Server...
Created symlink from /etc/systemd/system/multi-user.target.wants/mssql-server.service to /usr/lib/systemd/system/mssql-server.service.
安裝程序已成功完成。SQL Server 正在啓動。
(4)配置完後,要驗證一下服務是否啓動了
從命令的輸出看,msql-server服務成功啓動,主進程sqlservr,進程號3601
[root@linux ~]# systemctl status mssql-server
● mssql-server.service - Microsoft SQL Server Database Engine
Loaded: loaded (/usr/lib/systemd/system/mssql-server.service; enabled; vendor preset: disabled)
Active: active (running) since 五 2020-04-24 19:13:44 CST; 12min ago
Docs: https://docs.microsoft.com/en-us/sql/linux
Main PID: 2091 (sqlservr)
CGroup: /system.slice/mssql-server.service
├─2091 /opt/mssql/bin/sqlservr
└─2114 /opt/mssql/bin/sqlservr
4月 24 19:13:52 linux sqlservr[2091]: 2020-04-24 19:13:52.95 spid6s 2020-04-24 19:13:52....red.
4月 24 19:13:52 linux sqlservr[2091]: 2020-04-24 19:13:52.95 spid6s 2020-04-24 19:13:52....red.
4月 24 19:13:54 linux sqlservr[2091]: 2020-04-24 19:13:54.14 spid9s 2020-04-24 19:13:54....db'.
4月 24 19:13:54 linux sqlservr[2091]: 2020-04-24 19:13:54.57 spid9s tempdb 2020-04-24 19...(s).
4月 24 19:13:54 linux sqlservr[2091]: 2020-04-24 19:13:54.58 spid16s Service Broker 2020-...ate.
4月 24 19:13:54 linux sqlservr[2091]: 2020-04-24 19:13:54.59 spid16s Database Mirroring 2...ate.
4月 24 19:13:54 linux sqlservr[2091]: 2020-04-24 19:13:54.67 spid16s 2020-04-24 19:13:54....ted.
4月 24 19:13:54 linux sqlservr[2091]: 2020-04-24 19:13:54.90 spid6s 2020-04-24 19:13:54....red.
4月 24 19:20:34 linux sqlservr[2091]: 2020-04-24 19:20:34.64 spid51 2020-04-24 19:20:34....red.
4月 24 19:20:34 linux sqlservr[2091]: 2020-04-24 19:20:34.70 spid51 2020-04-24 19:20:34....red.
Hint: Some lines were ellipsized, use -l to show in full.
[root@linux ~]#
參見其他碼友的建議,換其他方式進行驗證:證明已經啓動了
[root@linux ~]# ps -ef | grep mssql
mssql 2091 1 0 19:13 ? 00:00:00 /opt/mssql/bin/sqlservr
mssql 2114 2091 4 19:13 ? 00:00:39 /opt/mssql/bin/sqlservr
root 2982 1678 0 19:27 pts/0 00:00:00 grep --color=auto mssql
[root@linux ~]#
(5)如果要從遠程連接SQL Server,那麼打開防火牆上的SQL Server端口,默認端口是1433
[root@localhost ~]# firewall-cmd --zone=public --add-port=1433/tcp --permanent
success
[root@localhost ~]# firewall-cmd --reload
success
當
[root@linux ~]# firewall-cmd --zone=public --add-port=1433/tcp --permanent
FirewallD is not running
[root@linux ~]# firewall-cmd --reload
FirewallD is not running
[root@linux ~]#
防火牆沒有開就不要管他了
(6)連接數據庫(默認爲已設置防火牆)
(7)下載客戶端工具的源、安裝客戶端工具
可以參考這個文章:安裝sql server的客戶端工具
也是非常簡單的,先下載,然後安裝。
7.1、下載
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo
下載操作預覽
[root@localhost Desktop]# curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 193 100 193 0 0 106 0 0:00:01 0:00:01 --:--:-- 106
7.2、yum 安裝【mssql-tools】
7.2. yum安裝命令
yum install -y mssql-tools
7.2.1 yum安裝預覽
[root@linux ~]# yum install -y mssql-tools
已加載插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.tuna.tsinghua.edu.cn
* extras: mirrors.tuna.tsinghua.edu.cn
* updates: mirrors.tuna.tsinghua.edu.cn
packages-microsoft-com-prod | 3.0 kB 00:00:00
packages-microsoft-com-prod/primary_db | 262 kB 00:00:06
正在解決依賴關係
--> 正在檢查事務
---> 軟件包 mssql-tools.x86_64.0.17.5.2.1-1 將被 安裝
--> 正在處理依賴關係 msodbcsql17 >= 17.3.0.0,它被軟件包 mssql-tools-17.5.2.1-1.x86_64 需要
--> 正在檢查事務
---> 軟件包 msodbcsql17.x86_64.0.17.5.2.1-1 將被 安裝
--> 解決依賴關係完成
依賴關係解決
=====================================================================================================
Package 架構 版本 源 大小
=====================================================================================================
正在安裝:
mssql-tools x86_64 17.5.2.1-1 packages-microsoft-com-prod 223 k
爲依賴而安裝:
msodbcsql17 x86_64 17.5.2.1-1 packages-microsoft-com-prod 802 k
事務概要
=====================================================================================================
安裝 1 軟件包 (+1 依賴軟件包)
總下載量:1.0 M
安裝大小:2.9 M
Downloading packages:
(1/2): mssql-tools-17.5.2.1-1.x86_64.rpm | 223 kB 00:00:04
(2/2): msodbcsql17-17.5.2.1-1.x86_64.rpm | 802 kB 00:00:05
-----------------------------------------------------------------------------------------------------
總計 188 kB/s | 1.0 MB 00:00:05
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
The license terms for this product can be downloaded from
https://aka.ms/odbc17eula and found in
/usr/share/doc/msodbcsql17/LICENSE.txt . By entering 'YES',
you indicate that you accept the license terms.
Do you accept the license terms? (Enter YES or NO)
yes
正在安裝 : msodbcsql17-17.5.2.1-1.x86_64 1/2
The license terms for this product can be downloaded from
http://go.microsoft.com/fwlink/?LinkId=746949 and found in
/usr/share/doc/mssql-tools/LICENSE.txt . By entering 'YES',
you indicate that you accept the license terms.
Do you accept the license terms? (Enter YES or NO)
yes
正在安裝 : mssql-tools-17.5.2.1-1.x86_64 2/2
驗證中 : mssql-tools-17.5.2.1-1.x86_64 1/2
驗證中 : msodbcsql17-17.5.2.1-1.x86_64 2/2
已安裝:
mssql-tools.x86_64 0:17.5.2.1-1
作爲依賴被安裝:
msodbcsql17.x86_64 0:17.5.2.1-1
完畢!
[root@linux ~]#
7.2.3 連接sql sever方式1【爲了在服務器上進行操作】
這裏用sqlcmd來連接sql server,
可能會有一些錯誤:
[root@linux ~]# sqlcmd
-bash: sqlcmd: 未找到命令
跟新工具包命令:
sudo yum check-update
sudo yum update mssql-tools
可選:在bash shell中將其添加/opt/mssql-tools/bin/
到PATH環境變量中。
要使bash shell可以通過sqlcmd / bcp訪問登錄會話,請使用以下命令在**〜/ .bash_profile文件中修改PATH**:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
爲了使SQLCMD / BCP從bash shell的交互式/非登錄會話訪問,修改PATH中的**〜/ .bashrc**文件,使用下面的命令:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
驗證sqlcmd
[root@linux ~]# sqlcmd -S localhost -U sa
Password:
1> select db_name();
2> go
--------------------------------------------------------------------------------------------------------------------------------
master
(1 rows affected)
1> create database test;
2> go
1> use test;
2> go
已將數據庫上下文更改爲 "test"。
1> select * into tb from sys.tables;
2> go
(1 rows affected)
1>
7.2.4 連接方式二,進行遠程方式連接
下面是一些命令行參數。
到這裏全部結束;