SQL Server2017 on linux 之【準備>安裝>連接】

安裝過程

注意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

424 19:13:52 linux sqlservr[2091]: 2020-04-24 19:13:52.95 spid6s      2020-04-24 19:13:52....red.
424 19:13:52 linux sqlservr[2091]: 2020-04-24 19:13:52.95 spid6s      2020-04-24 19:13:52....red.
424 19:13:54 linux sqlservr[2091]: 2020-04-24 19:13:54.14 spid9s      2020-04-24 19:13:54....db'.
424 19:13:54 linux sqlservr[2091]: 2020-04-24 19:13:54.57 spid9s      tempdb 2020-04-24 19...(s).
424 19:13:54 linux sqlservr[2091]: 2020-04-24 19:13:54.58 spid16s     Service Broker 2020-...ate.
424 19:13:54 linux sqlservr[2091]: 2020-04-24 19:13:54.59 spid16s     Database Mirroring 2...ate.
424 19:13:54 linux sqlservr[2091]: 2020-04-24 19:13:54.67 spid16s     2020-04-24 19:13:54....ted.
424 19:13:54 linux sqlservr[2091]: 2020-04-24 19:13:54.90 spid6s      2020-04-24 19:13:54....red.
424 19:20:34 linux sqlservr[2091]: 2020-04-24 19:20:34.64 spid51      2020-04-24 19:20:34....red.
424 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 連接方式二,進行遠程方式連接

下面是一些命令行參數。
在這裏插入圖片描述
到這裏全部結束;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章