MS SQL 是 Microsoft 在 2016 年开源建立的关系数据库系统。在本指南中,我将引导您完成在 Ubuntu 20.04/18.04/16.04 Linux 系统上安装 MS SQL 服务器 2019 的步骤。此外,我们将了解如何创建数据库、添加用户,以及最后如何对数据库执行每日备份。

myssql ubuntu 18.04

以下是在 Ubuntu 20.04/18.04/16.04 服务器上运行 MS SQL 的最低系统要求:

  • 最小内存为 2 GB
  • 最低速度为 1.4 GHz 的 CPU 处理器。但建议使用 >= 2 GHz
  • SQL Server 至少需要 10 GB 的可用硬盘空间

在 Ubuntu 20.04/18.04/16.04 LTS 上安装 MS SQL Server

按照以下步骤在 Ubuntu 20.04/18.04/16.04 上安装和配置 MS SQL 数据库服务器:

第 1 步:更新 Ubuntu 系统

与往常一样,我们确保所有系统包在添加新包之前都得到更新:

1
2
sudo apt-get update
sudo apt-get -y upgrade

如果完成了内核更新,请确保重新启动系统启动到新内核。

1
sudo reboot

第 2 步:导入公共存储库 GPG 密钥:

将系统 GPG 密钥添加到信任 MS SQL apt 存储库包:

1
sudo wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

第 3 步:添加 Microsoft SQL Server 2019 Ubuntu 存储库:

将 Microsoft SQL Server 2019 APT 存储库添加到 Ubuntu 20.04/18.04/16.04 系统。

乌本图 20.04

1
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2019.list)"

乌本图 18.04

1
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2019.list)"

乌本图 16.04

1
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2019.list)"

第 4 步:在 Ubuntu 20.04/18.04/16.04 LTS 上安装 MS SQL Server 2019

现在运行以下命令来安装 SQL Server:

1
2
sudo apt update
sudo apt install mssql-server

y 键在 Ubuntu 20.04/18.04/16.04 上开始安装 Microsoft SQL Server 2019。

1
2
3
4
5
6
7
8
9
10
11
12
Recommended packages:
libc-dbg libcc1-0 gdbserver
The following NEW packages will be installed:
gawk gdb libbabeltrace1 libc++1 libc++1-10 libc++abi1-10 libdw1
libmpfr6 libpython2-stdlib libpython2.7-minimal libpython2.7-stdlib
libsasl2-modules libsasl2-modules-gssapi-mit libsigsegv2
libsss-nss-idmap0 mssql-server python-is-python2 python2
python2-minimal python2.7 python2.7-minimal
0 upgraded, 21 newly installed, 0 to remove and 9 not upgraded.
Need to get 235 MB of archives.
After this operation, 1,101 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

The output is similar to below:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
....
Unpacking mssql-server (15.0.4033.1-2) ...
Setting up libdw1:amd64 (0.176-1.1build1) ...
Setting up gawk (1:5.0.1+dfsg-1) ...
Setting up libsasl2-modules:amd64 (2.1.27+dfsg-2) ...
Setting up libpython2.7-stdlib:amd64 (2.7.18~rc1-2) ...
Setting up libbabeltrace1:amd64 (1.5.8-1build1) ...
Setting up libc++abi1-10:amd64 (1:10.0.0-4ubuntu1) ...
Setting up libsss-nss-idmap0 (2.2.3-3) ...
Setting up libsasl2-modules-gssapi-mit:amd64 (2.1.27+dfsg-2) ...
Setting up libc++1-10:amd64 (1:10.0.0-4ubuntu1) ...
Setting up python2.7 (2.7.18~rc1-2) ...
Setting up libpython2-stdlib:amd64 (2.7.17-2ubuntu4) ...
Setting up python2 (2.7.17-2ubuntu4) ...
Setting up gdb (9.1-0ubuntu1) ...
Setting up python-is-python2 (2.7.17-4) ...
Setting up libc++1:amd64 (1:10.0-50~exp1) ...
Setting up mssql-server (15.0.4033.1-2) ...
debconf: unable to initialize frontend: Dialog
debconf: (Dialog frontend requires a screen at least 13 lines tall and 31 columns wide.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.)
debconf: falling back to frontend: Teletype

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

Processing triggers for man-db (2.9.1-1) ...
Processing triggers for mime-support (3.64ubuntu1) ...
Processing triggers for libc-bin (2.31-0ubuntu9) ...

第 5 步:在 Ubuntu 20.04/18.04/16.04 上初始化 MS SQL Server 2019

安装完成后,通过运行初始设置继续设置根用户密码/opt/mssql/bin/mssql-conf setup

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
$ sudo /opt/mssql/bin/mssql-conf setup
Choose an edition of SQL Server:
1) Evaluation (free, no production use rights, 180-day limit)
2) Developer (free, no production use rights)
3) Express (free)
4) Web (PAID)
5) Standard (PAID)
6) Enterprise (PAID)
7) Enterprise Core (PAID)
8) I bought a license through a retail sales channel and have a product key to enter.

Details about editions can be found at
https://go.microsoft.com/fwlink/?LinkId=852748&clcid=0x409

Use of PAID editions of this software requires separate licensing through a
Microsoft Volume Licensing program.
By choosing a PAID edition, you are verifying that you have the appropriate
number of licenses in place to install and run this software.

Enter your edition(1-8): 2
The license terms for this product can be found in
/usr/share/doc/mssql-server or downloaded from:
https://go.microsoft.com/fwlink/?LinkId=855862&clcid=0x409

The privacy statement can be viewed at:
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409

Do you accept the license terms? [Yes/No]:Yes

Enter the SQL Server system administrator password: <SetStrongNewPassword>
Confirm the SQL Server system administrator password: <ConfirmStrongPassword>
Configuring SQL Server...

ForceFlush is enabled for this instance.
ForceFlush feature is enabled for log durability.
Created symlink /etc/systemd/system/multi-user.target.wants/mssql-server.service → /lib/systemd/system/mssql-server.service.
Setup has completed successfully. SQL Server is now starting.

应启动 MS SQL 服务。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$ systemctl status mssql-server.service 
● mssql-server.service - Microsoft SQL Server Database Engine
Loaded: loaded (/lib/systemd/system/mssql-server.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2020-05-05 21:08:00 CEST; 26s ago
Docs: https://docs.microsoft.com/en-us/sql/linux
Main PID: 3626 (sqlservr)
Tasks: 135
Memory: 592.1M
CGroup: /system.slice/mssql-server.service
├─3626 /opt/mssql/bin/sqlservr
└─3669 /opt/mssql/bin/sqlservr

May 05 21:08:05 ubuntu-4gb-hel1-1 sqlservr[3669]: [78B blob data]
May 05 21:08:05 ubuntu-4gb-hel1-1 sqlservr[3669]: [84B blob data]
May 05 21:08:05 ubuntu-4gb-hel1-1 sqlservr[3669]: [145B blob data]
May 05 21:08:05 ubuntu-4gb-hel1-1 sqlservr[3669]: [96B blob data]
May 05 21:08:05 ubuntu-4gb-hel1-1 sqlservr[3669]: [66B blob data]
May 05 21:08:06 ubuntu-4gb-hel1-1 sqlservr[3669]: [75B blob data]
May 05 21:08:06 ubuntu-4gb-hel1-1 sqlservr[3669]: [96B blob data]
May 05 21:08:06 ubuntu-4gb-hel1-1 sqlservr[3669]: [100B blob data]
May 05 21:08:06 ubuntu-4gb-hel1-1 sqlservr[3669]: [71B blob data]
May 05 21:08:06 ubuntu-4gb-hel1-1 sqlservr[3669]: [124B blob data]

第 6 步:安装 MS SQL 工具和 unixODBC 插件

现在安装安装 MS SQL 工具和 unixODBC 插件:

乌本图 20.04:

1
2
3
4
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
curl https://packages.microsoft.com/config/ubuntu/19.10/prod.list > /etc/apt/sources.list.d/mssql-release.list
sudo apt update
sudo ACCEPT_EULA=Y apt install mssql-tools unixodbc-dev

Ubuntu 18.04:

1
2
3
4
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
sudo apt update
sudo sudo ACCEPT_EULA=Y apt install mssql-tools unixodbc-dev

Ubuntu 16.04:

1
2
3
4
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
sudo apt update
sudo sudo ACCEPT_EULA=Y apt install mssql-tools unixodbc-dev

第 7 步:为 MS SQL 二进制文件配置路径

在*bash 外壳中将 /选择/mssql 工具/bin/*添加到 PATH 环境变量中。

若要使sqlcmd/bcp 可从 bash shell 访问登录会话,请使用以下命令修改 +/.bash_profile文件中的 PATH:

1
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile

若要使sqlcmd/bcp可从 bash shell 访问交互式/非登录会话,请使用以下命令修改**+/.bashrc**文件中的 PATH:

1
2
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc

连接到 MS SQL 控制台:

1
2
3
# sqlcmd -S 127.0.0.1 -U SA 
Password:
1> create database testDB;

获取列表数据库:

1
2
3
4
5
6
7
8
9
10
11
1> select name from sys.databases;
2> go
name
--------------------------------------------------------------------------------------------------------------------------------
master
tempdb
model
msdb
testDB

(5 rows affected)
外挂标签:
    {% note [class] [no-icon] [style] %}
            class 包括【default / primary / success / info / warning / danger】
            style 包括【simple/modern/flat/disabled】
            {% note success simple %}
        {% endnote %} 

图库:
    <div class="gallery-group-main">
    {% galleryGroup name description link img-url %}
    {% galleryGroup name description link img-url %}
    {% galleryGroup name description link img-url %}
    </div>
    name:圖庫名字
    description:圖庫描述
    link:連接到對應相冊的地址
    img-url:圖庫封面的地址
    如:{% galleryGroup '壁紙' '收藏的一些壁紙' '/Gallery/wallpaper' https://i.loli.net/2019/11/10/T7Mu8Aod3egmC4Q.png %}

Tabs:
    {% tabs test1 %}
        
        **This is Tab 1.**
        
    
        
        **This is Tab 2.**
        
    
        
        **This is Tab 3.**
        
        {% endtabs %}

按钮:
    {% btn 'https://butterfly.js.org/',Butterfly,far fa-hand-point-right,purple larger %}
    颜色:default/blue/pink/red/purple/orange/green