本文详细介绍如何在 Ubuntu 20.04(Ubuntu 18.04 和 Ubuntu 16.04中也类似)安装 Microsoft SQL Server 2019。此外,也将安装用于连接数据库和运行 SQL 查询等的 SQL Server CLI 工具。Linux 上的 SQL Server 是一种企业级关系数据库,具有行业领先的功能和强大的业务连续性。
还有些朋友认为 SQL Server 只能在 Windows 上运行。但是从 SQL Server 2017 开始,你也可以在 Linux 上运行SQL Server 了。SQL Server 提供了一些开源版本没有的功能,并且根据应用程序的要求,它可能是关系数据库管理系统 (RDBMS) 的正确选择。
Linux 上的 SQL Server目前支持 Red Hat、Ubuntu 和 SUSE,以及 Docker Engine 几个发行版。本文我们将介绍在 Ubuntu 20.04上演示安装 SQL Server 2019 的全部过程。
Linux 上的 SQL Server 系统要求
运行 SQL Server 的硬件具有以下最低系统要求:
- 内存:2 GB
- 磁盘空间:6 GB
- CPU:2 核,2 GHz,
- 处理器类型:仅兼容 x-64
- 文件系统类型:XFS 或 EXT4(不支持其他文件系统,比如 BTRFS)
在 Ubuntu 上安装 SQL Server
更新/升级您的系统
确保系统安装了最新的软件包。对于此更新和升级您的系统。
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt update && sudo apt upgrade
添加官方存储库以安装 MSSQL 服务器。
为了在 Ubuntu 上安装 SQL Server,我们需要通过输入以下命令导入 Microsoft 的公共存储库 GPG 密钥:
linuxmi@linuxmi:~/www.linuxmi.com$ wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
[sudo] linuxmi 的密码:
OK
添加 SQL Server 存储库
接下来,我们需要注册 Microsoft SQL Server 的 Ubuntu 存储库。
Ubuntu 20.04 “Focal Fossa”
linuxmi@linuxmi:~/www.linuxmi.com$ sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)"
Ubuntu 18.04 “Bionic Beaver”
linuxmi@linuxmi:~/www.linuxmi.com$ sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2019.list)"
在 Ubuntu 上安装 SQL Server
现在我们的 Ubuntu 系统知道 Microsoft SQL 存储库,我们可以使用它apt来安装mssql-server包:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install mssql-server
然后安装继续下载、解压和设置必要的包。
最后,提示我们运行 “sudo /opt/mssql/bin/mssql-conf setup” 完成 Microsoft SQL Server 的设置
配置 Microsoft SQL Server
接下来,我们需要使用系统管理员密码配置我们的 SQL Server,并确认我们要使用的版本。使用以下命令开始配置 SQL Server:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo /opt/mssql/bin/mssql-conf setup
首先,配置要求您从 SQL Server 的可用版本列表中进行选择。
1 |
评估Evaluation(免费) |
用于学习和开发解决方案的功能齐全且免费的 SQL Server 实例。此版本的内置有效期为自您安装之日起 180 天。 |
2 |
开发人员Developer(免费) |
功能齐全的 SQL Server 企业版,授权在非生产环境中用作开发和测试数据库。 |
3 |
轻量级 Express(免费) |
SQL Server 的免费轻量级版本,有一些限制,可用于生产环境。它只能使用 1 个 CPU 和 1 GB 内存,数据库的最大大小为 10 GB。 |
4 |
网络Web(付费) |
网络托管商的低总拥有成本选项。 |
5 |
标准Standard(付费) |
当不需要高级功能时,功能比企业版Enterprise 少。 |
6 |
企业 Enterprise(付费) |
具有完整功能集的高端版本。CPU 核心利用率限制为 20 个物理/40 个超线程。 |
7 |
企业核心Enterprise Core(付费) |
具有基于核心的许可的企业版。CPU 核心利用率达到操作系统最大值。 |
8 |
我通过零售渠道购买了许可证并具有要输入的产品密钥。 |
我将使用开发人员版本,选择2,测试就用免费的吧。
接下来,您需要通过键入 Yes 并按 Enter来接受许可条款。
选择 SQL Server 的语言,我们选择简体中文:
最后,您需要输入 SQL Server 服务器管理员 (sa) 密码(LinuxMi.com@888)。密码至少需要 8 个字符,包括大写、小写字母、数字和非字母数字符号。
输入 SQL Server 系统管理员密码:LinuxMi.com@888
确认 SQL Server 系统管理员密码:LinuxMi.com@888
正在配置 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.
安装程序已成功完成。SQL Server 正在启动。
安装将成功完成,SQL 服务器将启动。要验证mssql-server服务是否正在运行:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl status mssql-server
为 SQL Server 安装命令行工具mssql-tool
您需要sqlcmd在 Linux 上安装用于连接 SQL Server 的实用程序。它旨在优化 SQL 查询并简化一些数据库管理任务。
mssql-tool 包包含 sqlcmd(命令行查询)和 bcp(批量导入-导出)实用程序。
当然,如果您熟悉 SQL Server Management Studio,则可以在 Windows 上使用它来远程连接到新安装的 SQL Server Linux 实例。
导入公共存储库 GPG 密钥并更新软件包库:
Ubuntu 20.04
linuxmi@linuxmi:~/www.linuxmi.com$ curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt update
Ubuntu 18.04
linuxmi@linuxmi:~/www.linuxmi.com$ curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt update
通过输入以下命令,安装 SQL Server 命令行工具 ( mssql-tools) 和用于基于 Linux 的系统的 SQL Server 驱动程序(unixodbc-dev):
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install mssql-tools unixodbc-dev
这一步出现依赖问题解决见:http://www.linuxidc.net/thread-9941-1-1.html
选择确定——是接受许可条款并继续。
接下来,再次选择 确定——是 接受议mssql-tools配置的许可协议。
上面的安装不会为执行mssql tools创建环境变量。因此,现在我们将在bash shell/opt/mssql-tools/bin/中添加到我们的 PATH 环境变量, 以便可以从 bash 访问sqlcmd命令以进行登录会话。
运行以下命令:
linuxmi@linuxmi:~/www.linuxmi.com$ echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
linuxmi@linuxmi:~/www.linuxmi.com$ echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
linuxmi@linuxmi:~/www.linuxmi.com$ source ~/.bashrc
在 Linux 上连接到 SQL Server
要连接到 SQL 服务器,请使用 sqlcmd 命令。它可以在远程服务器上,也可以在本地 SQl 服务器上。
如下命令:
linuxmi@linuxmi:~/www.linuxmi.com$ sqlcmd -S localhost -U SA -P 'LinuxMi.com@888'
连接后,您会得到提示1>。现在我们来检查 MS SQL 版本:
select @@VERSION
go
如果要创建数据库,请使用以下 SQL 命令。
以下步骤创建一个名为 linuxmi 的数据库。
create database linuxmi
go
查询所有数据库
编写一个查询以返回服务器上所有数据库的名称:
SELECT Name from sys.Databases
go
退出 sqlcmd 命令提示符
要结束您的sqlcmd会话,请键入QUIT:
QUIT
重启 Microsoft SQL 服务器
linuxmi@linuxmi:~/www.linuxmi.com$ systemctl restart mssql-server.service
更新/升级 Microsoft SQL 服务器
我们添加了来自 Microsoft 的存储库来安装 SQL Server。因此,要更新/升级 SQL 服务器,请运行以下命令:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt update && sudo apt install mssql-server
删除 Microsoft SQL 服务器
要完全删除 SQL Server 2019 及其依赖项,可以使用以下命令。
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt purge mssql-server mssql-tools -y
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt autoremove -y
总结
在本教程中,我们学习了如何在 Ubuntu 20.04 上安装 Microsoft SQL Server 并连接到 SQL Server 以运行 SQL 查询。从现在开始,您可以使用 Linux 上的新 SQL Server 执行您想要的任何数据库活动。