如何为ubuntu 18.04 LTS安装MS SQL?

我查了一下互联网,但所有安装步骤都是关于16.04版本。 它是否在18.04上可用? 如果有,怎么样?

Microsoft尚未提供18.04的官方mssql-server(05-12-2018),仅供测试,您可以尝试此解决方法(来自我)。

在Ubuntu上安装Microsoft SQL Server(mssql)的解决方法

警告:仅供测试

  1. 从https://packages.microsoft.com/ubuntu/16.04/mssql-server-2017/pool/main/m/mssql-server/下载最新的软件包mssql-server_14.0.3025.34-3_amd64.deb

  2. 更改目录

     cd ${HOME} && mkdir -p tmp/mssql/newpkg/DEBIAN/ && cd tmp/mssql wget https://packages.microsoft.com/ubuntu/16.04/mssql-server-2017/pool/main/m/mssql-server/mssql-server_14.0.3025.34-3_amd64.deb 
  3. 解压

     dpkg-deb -x mssql-server_14.0.3025.34-3_amd64.deb newpkg/ dpkg-deb -e mssql-server_14.0.3025.34-3_amd64.deb newpkg/DEBIAN/ 
  4. 修改

     sed -i -e 's#openssl (<= 1.1.0)#openssl (<= 1.1.1)#g' newpkg/DEBIAN/control cat newpkg/DEBIAN/control | grep openssl 
  5. 重新打包

     dpkg-deb -b newpkg/ 18.04-mssql-server_14.0.3025.34-3_amd64_.deb 
  6. 首先尝试,这将依赖于失败

     sudo dpkg -i 18.04-mssql-server_14.0.3025.34-3_amd64_.deb 
  7. 安装依赖项

     sudo apt install -f 
  8. 第二次尝试,应该这样做

     sudo dpkg -i 18.04-mssql-server_14.0.3025.34-3_amd64_.deb 
  9. 按照包中的消息来设置mssql服务器

故障排除

数据库目录/var/opt/mssql不应放在zfs数据集上,如果您使用的是zfs,请为它创建一个zvol并格式化为ext4 / xfs。

错误:“转储收集线程[4404]命中exception[6]。退出。”
修复: sudo usermod -a -G disk mssql
原因:mssql用户无法访问zvol。

参考文献:

因此,Ubuntu 18.04提供的ca-certificatesopenssl的版本实际上适用于mssql-server 。 据推测它拒绝openssh因为18.04版本的1.1.0g-2ubuntu4在技​​术上比mssql-server的要求<=1.1.0更高(我认为他们应该使用<1.1.1因为那仍然锁定你到1.1.0版本,同时允许特定于发行版的软件包版本,这些版本是您绝对应该遇到的,但既不是在这里也不是在那里。)

修复

  1. 安装依赖项
      sudo apt-get install libunwind8 libnuma1 libc6 adduser libjemalloc1 libc ++ 1 gdb debconf libcurl3 hostname openssl python libgssapi-krb5-2 libsss-nss-idmap0 gawk sed 

    (我完全意识到你可能已经安装了大部分这些,这些只是所有声明的依赖项。)

  2. 下载包
      apt-get download mssql-server 
  3. 强制安装
      sudo dpkg --force-depends -i mssql-server_14.0.3025.34-3.deb 
  4. 删除下载的.deb文件
      rm mssql-server_14.0.3025.34-3_amd64.deb 
  5. 此时,运行任何apt命令将导致它(无害地)抱怨mssql-server有未满足的依赖项并指示您运行: sudo apt --fix-broken install
    不要这样做。 你会失去你只是想要的一切。

    如果您真的希望该错误消失,请继续执行步骤5,否则只需忽略它即可。

  6. 说服dpkg一切都好
    1. sudo nano /var/lib/dpkg/status
      你喜欢的编辑也没关系
    2. 找到mssql-server的条目(对于nano它的Ctrl-W,而不是Ctrl-F)
    3. 更改依赖行

      ...hostname, openssl (>= 1.0.1), openssl (<= 1.1.0), python (<= 2.7.0)...

      ...hostname, openssl (>= 1.0.1), openssl (< 1.1. 1 ), python (<= 2.7.0)...

如果你强行安装旧版本的ca-certificatesopenssl来安装mssql-server ,你可以通过apt-get install ca-certificates openssl强制升级它们。 这将删除mssql-server(但您的配置和数据库应该保持不变)。 然后你可以按照我的指示。

这应该避免你必须处理重新包装东西的麻烦。 你正在交易dpkg上的技巧,但这样做可能(我承认这是基于没有研究)当官方18.04软件包出来时更容易升级,因为你避免创建和使用非官方软件包并升级到官方软件包将清理我们自动进行的更改。

Micrsoft的SQL网站最后更新于2018年4月,显示Ubuntu 16.04是目前支持的最新版本。 我要等到2018年7月26日Ubuntu 18.04.1 LTS发布时才能获得微软的支持。

您可以尝试免费版本的MySQL支持Ubuntu 18.04,而不是支付微软的SQL费用。

Microsoft已经更新了适用于Linux的SQL Server 2017,现在它可以安装在Ubuntu 18.04中,但是他们建议仅用于开发。

有关更多信息,请查看以下Microsoft博客文章: 在Ubuntu 18.04 LTS上安装SQL Server 2017 for Linux