Bagaimana cara saya menginstal MSSQL Server dan / atau Tools untuk Linux pada 16.04?

14

Posting ini dibuat untuk mencoba dan menjadi pasangan pertanyaan / jawaban kanonik 'tangkap semua' untuk 'Bagaimana Saya Menginstal MSSQL Server' dan pertanyaan 'Bagaimana Cara Menginstal MSSQL Server Alat'.

Saya mencari untuk mengatur MS SQL Server untuk Linux, dan sangat mungkin alat-alatnya (pada server itu sendiri atau sistem lain) sehingga saya dapat berinteraksi dengan SQL Server. Bagaimana saya bisa melakukan ini?

Thomas Ward
sumber
1
Perhatikan bahwa saya memiliki server MSSQL yang tersedia melalui 16.04, dan alat-alat di server yang sama. Saya menggunakan MSSQL Management Studio dari komputer Windows saya untuk mengatur semuanya, dan DataGrip dan antarmuka Python lainnya untuk benar-benar menggunakan MSSQL Server dan mengelolanya.
Thomas Ward

Jawaban:

18

Jawaban ini mencakup menginstal MSSQL Server dan Tools untuk sistem 16.04 apa pun. Itu tidak mencakup solusi Docker untuk mendapatkan MSSQL Server pada suatu sistem. Jawaban terpisah akan ditulis untuk MSSQL Server melalui opsi pemasangan Docker untuk SQL Server.

Ada beberapa komponen berbeda di sini dalam paket dari repositori Microsoft saja.

  1. mssql-server - Microsoft SQL Server untuk Linux Preview
  2. mssql-tools- sqlcmd, dll. perintah untuk berinteraksi dengan MSSQL Server.

Ada beberapa peringatan jahat di sini:

  1. Anda harus memiliki 16,04 untuk semua komponen; ini TIDAK bekerja pada versi yang lebih lama.
  2. Saat ini, hanya ada versi 64-bit dari paket yang tersedia. Anda tidak akan dapat menjalankan mssql-serverdan mungkin juga bukan alatnya kecuali Anda menggunakan sistem 64-bit.

Semua perintah di bawah ini dari langkah-langkah yang disarankan Microsoft. Saya tidak menyarankan menggunakan beberapa dari perintah ini di luar mengikuti langkah-langkah ini dengan tepat , karena sifat risiko keamanan yang diperkenalkan beberapa prosedur di sini (seperti masuk ke shell superuser).


mssql-serverlangkah instalasi ( sumber )

Langkah-langkah ini mencakup pengaturan MS SQL Server untuk Linux Public Preview. Ini dan metode Docker adalah dua metode untuk mendapatkan pengaturan MSSQL Server untuk Linux.

Peringatan:

  1. Anda harus memiliki sistem 64-bit untuk MSSQL Server.
  2. Anda memerlukan setidaknya 4GB RAM pada sistem untuk menginstal MSSQL Server.
  3. Anda harus memiliki Ubuntu 16.04 untuk ini, saat ini tidak ada versi lain di server repositori mereka.

Untuk menginstal mssql-serverPaket di Ubuntu, ikuti langkah-langkah ini:

  1. Masuk ke mode superuser.

    sudo su
    
  2. Impor kunci GPG repositori publik:

    curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
    
  3. Daftarkan repositori Microsoft SQL Server Ubuntu:

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"
    
  4. Keluar dari mode superuser.

    exit
    
  5. Jalankan perintah berikut untuk menginstal SQL Server:

    sudo apt-get update
    sudo apt-get install -y mssql-server
    
  6. Setelah instalasi paket selesai, jalankan skrip konfigurasi dan ikuti petunjuknya.

    sudo /opt/mssql/bin/mssql-conf setup
    
  7. Setelah konfigurasi selesai, verifikasi bahwa layanan sedang berjalan:

    systemctl status mssql-server
    

Lihat: Quickstart: Instal SQL Server dan buat database di Ubuntu .


mssql-toolsLangkah Instalasi ( sumber )

Bagian ini mencakup pengaturan mssql-toolsyang mencakup sqlcmdperintah. Langkah-langkah ini diperlukan untuk sistem apa pun di mana Anda ingin menggunakan sqlcmdperintah atau utilitas lain yang berasal dari Microsoft di Linux untuk berinteraksi dengan Server MSSQL.

(Ini tidak diperlukan untuk pustaka Python lain untuk berinteraksi dengan MSSQL, atau utilitas lain seperti DataGrip yang dapat berinteraksi dengan server, dll., Yang tidak memerlukan mssql-toolspacakge untuk beroperasi.)

Peringatan:

  1. Saya belum menemukan versi ini untuk sistem non-64bit. Anda mungkin memerlukan sistem 64bit untuk membuat alat ini berfungsi.
  2. Anda hanya dapat menggunakan alat pada 16,04 saat ini.
  1. Masuk ke Superuser Mode

    sudo su
    
  2. Impor kunci GPG repositori publik:

    curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
    
  3. Daftarkan repositori Microsoft Ubuntu:

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/prod.list)"
    
  4. Keluar dari mode pengguna super:

    exit
    
  5. Perbarui daftar sumber dan jalankan perintah instalasi:

    sudo apt-get update
    sudo apt-get install mssql-tools
    
Thomas Ward
sumber
Seperti disebutkan dalam solusi buruh pelabuhan - di sini juga harus dikatakan bahwa server mssql hanya akan berfungsi pada arsitektur amd64 (tidak seperti arm atau arm64, yang ditawarkan di beberapa cloud).
userfuser
1
Perlu dicatat bahwa sqlservr-setuptelah diubah namanya menjadi mssql-conf setup.
Tom
Dikatakan dalam sourcesql Anda bahwa Ram membutuhkan 2GB dan bukan 4GB seperti yang Anda sebutkan.
Offir Pe'er
9

Menggunakan Docker (hanya amd64)

Dimungkinkan juga untuk menjalankan MSSQL Server di Ubuntu menggunakan Docker. Ini dapat dilakukan dengan mengikuti langkah-langkah di bawah ini dengan cermat:

  1. Jika Anda menggunakan Ubuntu 14.04 atau rilis lain yang lebih lama dari Xenial (16.04) , Anda harus menginstal versi Docker yang lebih baru daripada yang disediakan arsip.

    Jika demikian, ikuti instruksi di halaman ini .

    Jika tidak, jalankan saja:

    sudo apt-get install docker.io
    
  2. Verifikasi bahwa Anda dapat terhubung ke daemon Docker lokal menggunakan:

    docker info
    

    Jika Anda menerima kesalahan seperti Cannot connect to the Docker daemon., Anda harus menambahkan diri Anda ke dockergrup:

    sudo usermod -a -G docker <USERNAME>
    

    ... di mana <USERNAME>diganti dengan nama pengguna Anda. Anda harus keluar dan kembali agar perubahan diterapkan.

  3. Tarik gambar MSSQL dari Docker Hub:

    docker pull microsoft/mssql-server-linux
    
  4. Buat direktori di host yang akan menyimpan data dari wadah dan menyimpan nilai dalam variabel lingkungan untuk kenyamanan:

    export DIR=/var/lib/mssql
    sudo mkdir $DIR
    
  5. Mulai wadah:

    docker run \
        -d \
        --name mssql \
        -e 'ACCEPT_EULA=Y' \
        -e 'SA_PASSWORD=<PASSWORD>' \
        -p 1433:1433 \
        -v $DIR:/var/opt/mssql \
        microsoft/mssql-server-linux
    

    Ganti <PASSWORD>dengan nilai unik yang akan digunakan untuk otentikasi nanti.

  6. Pastikan wadah dimulai tanpa kesalahan:

    docker ps -af name=mssql
    

    Jika STATUSkolom menampilkan "Atas ..." di bawah STATUSkolom, maka semuanya berjalan dengan benar. Namun, jika kesalahan ditampilkan:

    CONTAINER ID ... STATUS ...
    ba79fa12fbf1 ... Exited (0) 3 seconds ago ...
    

    ... maka Anda dapat menggunakan docker logs mssqluntuk mendapatkan informasi lebih lanjut.

Untuk terhubung ke wadah dari aplikasi, cukup tentukan port 1433.

Secara default, wadah dimulai ketika Anda pertama kali run. Anda dapat menghentikan wadah dengan:

docker stop mssql

Untuk menghapus wadah, pertama hentikan itu, dan kemudian jalankan:

docker rm mssql
Nathan Osman
sumber
Diuji di bawah 18,04. Terima kasih, ini berhasil dan sangat cepat.
Joe Eifert
Nama pengguna: sa, kata sandi minimal harus 8 karakter dan angka dan huruf besar dan kecil. Kalau tidak, Anda tidak dapat terhubung. Info lebih lanjut di sini: hub.docker.com/r/microsoft/mssql-server-linux
Joe Eifert