Ubuntu20.04 安装SQL server 2019(developer

从Microsoft官方指引下载

这学期的课程有数据库,因此今天(2022.3.6)在ubuntu上安装了sql server2019
即使根据官方指引进行安装也会遇到不少问题,因此为在这里总结了我自己遇到的所有问题,以及给出了相应的解决方案,希望能为后来的人解决一些困惑和麻烦

根据指引,在终端输入第一条语句:(导入公共存储库 GPG 密钥)

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

当然,有可能遇到下面的报错:

gpg: 无法打开 ‘microsoft.asc’: 没有那个文件或目录

解决方法:(将第一条指令更换为下面的指令)

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

第2步,为 SQL Server 2019 注册 Microsoft SQL Server Ubuntu 存储库:

sudo add-apt-repository “$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)”

第3步,安装SQL server

sudo apt-get update
sudo apt-get install -y mssql-server

第4步,包安装完成后,运行 mssql-conf setup,按照提示设置 SA 密码并选择版本。

sudo /opt/mssql/bin/mssql-conf setup

执行完语句会根据用户选择安装对应版本
在这里插入图片描述

按照官方指引检查是否安装成功

systemctl status mssql-server --no-pager

出现类似笔者的输出即为安装成功
在这里插入图片描述

**

安装 SQL Server 命令行工具

**
按照指引安装mssql-tools
默认情况下,ubuntu 上未安装 curl。 若要安装 curl,请运行以下代码:

sudo apt-get update
sudo apt install curl

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

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

第3步,注册 Microsoft Ubuntu 存储库。

curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list

第4步,更新源列表,并使用 unixODBC 开发人员包运行安装命令。

sudo apt-get update
sudo apt-get install mssql-tools unixodbc-dev
上面两行代码安装的并非是最新的mssql-tools,笔者选择了下面两行代码:
sudo apt-get update
sudo apt-get install mssql-tools

遇到的问题:终端输出如下语句:
下列软件包有未满足的依赖关系:
mssql-tools : 依赖: msodbcsql17 (>= 17.3.0.0) 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

我在ubuntu官网中搜索不到msodbcsql17这个包,因此安装mssql-tools的工作无法继续进行下去

解决方法:
该链接到达的网站可以搜寻所需要的包,请选择17.3.0.0以上的版本
下载下来的包后缀是.rmp类型的,在ubuntu下无法解压,请使用下列办法:

sudo apt-get install alien fakeroot
在下载msodbcsql17的目录下打开终端,输入指令(请注意自己的安装版本):
fakeroot alien msodbcsql17-17.3.1.1-1.x86_64.rpm
该目录下会得到一个.deb的文件,输入指令:
sudo dpkg -i msodbcsql17_17.3.1.1-2_amd64.deb
至此,缺失的依赖包已安装完毕

最后输入指令:

sudo apt-get install mssql-tools

在这里插入图片描述
安装完毕

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐