Como instalo o MS SQL para o Ubuntu 18.04 LTS?

5

Eu pesquisei na internet, mas todas as etapas para instalar estavam relacionadas à versão 16.04. Está disponível ainda em 18.04? Se sim, como?

    
por Siddharth Pandey 05.05.2018 / 22:22

4 respostas

9

A Microsoft não fornece o servidor mssql oficial para 18.04 ainda (05-12-2018), para testar apenas você pode tentar esta solução alternativa (de mim).

Workaround for installing Microsoft's SQL Server (mssql) on Ubuntu

WARNING: FOR TESTING ONLY

  1. Download latest package mssql-server_14.0.3025.34-3_amd64.deb from https://packages.microsoft.com/ubuntu/16.04/mssql-server-2017/pool/main/m/mssql-server/

  2. Change directories

    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. Unpack

    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. Modify

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

    dpkg-deb -b newpkg/ 18.04-mssql-server_14.0.3025.34-3_amd64_.deb
    
  6. First try, this will fail for dependencies

    sudo dpkg -i 18.04-mssql-server_14.0.3025.34-3_amd64_.deb
    
  7. Install dependencies

    sudo apt install -f
    
  8. Second try, this should be done

    sudo dpkg -i 18.04-mssql-server_14.0.3025.34-3_amd64_.deb
    
  9. Follow the messages from package to setup the mssql server

Troubleshooting

The database directory /var/opt/mssql should not put on zfs dataset, if you are using zfs, create a zvol and format as ext4/xfs for it.

Error: "Dump collecting thread [4404] hit exception [6]. Exiting."
Fix: sudo usermod -a -G disk mssql
Reason: mssql user can not access zvol.

References:

    
por David Mortals 12.05.2018 / 03:53
4

Portanto, as versões de ca-certificates e openssl fornecidas pelo Ubuntu 18.04 realmente funcionam bem para mssql-server . Presumivelmente, ele está rejeitando openssh porque a versão 18.04 de 1.1.0g-2ubuntu4 é tecnicamente "maior" do que mssql-server exigiu <=1.1.0 (e eu acho que eles deveriam ter usado <1.1.1 , já que isso ainda te trava em 1.1.0 variant ao permitir versões do pacote específicas da distribuição que são algo que você deve absolutamente encontrar em mas não está aqui nem lá.

A correção

  1. Instalar dependências de
    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
    (Eu sei que você provavelmente tem a maioria deles já instalados, estas são apenas todas as dependências reivindicadas.)
  2. Faça o download do pacote de
    apt-get download mssql-server
  3. Forçar a instalação de
    sudo dpkg --force-depends -i mssql-server_14.0.3025.34-3.deb
  4. Remover o arquivo .deb baixado -
    rm mssql-server_14.0.3025.34-3_amd64.deb
  5. Neste ponto, a execução de qualquer comando apt fará com que (sem causar danos) reclamar que o servidor mssql tem dependências não atendidas e instruirá você a executar: sudo apt --fix-broken install
    NÃO FAÇA ISSO. VOCÊ PERDERÁ TUDO QUE VOCÊ FEZ.

    Se você realmente quer que o erro desapareça, prossiga com o passo 5, caso contrário, simplesmente ignore-o e pronto.

  6. Convença o dpkg que tudo está bem
    1. sudo nano /var/lib/dpkg/status
      O seu editor preferido também está bem
    2. Encontre a entrada para o mssql-server (para o nano é Ctrl-W, não Ctrl-F)
    3. Alterar a linha depende de

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

      para

      ...hostname, openssl (>= 1.0.1), openssl (< 1.1.1), python (&lt= 2.7.0)...

Se você forçosamente instalou as versões antigas de ca-certificates e openssl para obter mssql-server para instalar, você pode atualizá-las à força por apt-get install ca-certificates openssl . Isso removerá o servidor mssql (mas sua configuração e bancos de dados devem ser deixados em paz). Então você pode seguir minhas instruções.

Isso deve evitar que você tenha que lidar com o incômodo de reembalar as coisas. Você está trocando isso por truques no dpkg, mas fazer isso desta maneira provavelmente (eu admito que isso é baseado em nenhuma pesquisa) facilita a atualização quando um pacote oficial 18.04 é lançado, pois você evita criar e usar um pacote não oficial e atualizar para um pacote oficial limparia as alterações feitas automaticamente.

    
por Elijah Woodward 16.05.2018 / 23:41
2

Site de SQL da Micrsoft foi atualizada pela última vez em abril de 2018 e mostra o Ubuntu 16.04 como a versão mais suportada atualmente. Eu esperaria até 26 de julho de 2018 quando o Ubuntu 18.04.1 LTS for lançado para esperar suporte da Microsoft.

Em vez de pagar pelo SQL da Microsoft, você pode tentar o versão gratuita do MySQL que suporta o Ubuntu 18.04 já.

    
por WinEunuuchs2Unix 05.05.2018 / 22:53
2

A Microsoft atualizou o SQL Server 2017 para Linux e agora ele pode ser instalado no Ubuntu 18.04, mas está recomendando apenas para desenvolvimento.

Para mais informações, confira a seguinte postagem no blog da Microsoft:    Instalando o SQL Server 2017 para Linux em Ubuntu 18.04 LTS

    
por Jesse 04.09.2018 / 10:51