Як встановити MSSQL Server та / або Інструменти для Linux на 16.04?


14

Ця публікація була створена для того, щоб спробувати "спіймати всіх" канонічної пари питань / відповідей для "Як встановити MSSQL Server" та "Як встановити інструменти сервера MSSQL".

Я хочу створити MS SQL Server для Linux і, можливо, його інструменти (на самому сервері чи інших системах), щоб я міг взаємодіяти з SQL Server. Як я можу робити це?


1
Зауважте, що у мене є сервер MSSQL, доступний через 16.04, та інструменти на тому ж сервері. Я використовую MSSQL Management Studio зі свого комп'ютера Windows для управління всім, а DataGrip та інші інтерфейси Python для фактичного використання MSSQL Server та управління ним.
Thomas Ward

Відповіді:


18

Ця відповідь стосується встановлення MSSQL Server та інструментів для будь-якої системи 16.04. Він не охоплює рішення Docker для отримання MSSQL Server у систему. Окрему відповідь буде написано для MSSQL Server через опцію установки Docker для SQL Server.

Тут є кілька різних компонентів лише в пакетах із сховищ Microsoft.

  1. mssql-server - Microsoft SQL Server для попереднього перегляду Linux
  2. mssql-tools- sqlcmdта ін. для взаємодії з MSSQL Server.

Тут є деякі застереження:

  1. Ви повинні мати 16,04 для всіх компонентів; він НЕ працює на старих версіях.
  2. На даний момент доступні лише 64-бітні версії пакетів. Ви не зможете запустити, mssql-serverа можливо, і не інструменти, якщо ви не працюєте на 64-бітних системах.

Усі команди нижче наведені із запропонованих кроків Microsoft. Я не пропоную використовувати деякі з цих команд поза наступні кроки саме з - за характеру загроз безпеці , що деякі процедури тут ввести (наприклад, при вході в привілейованого користувача оболонки).


mssql-serverкроки встановлення ( джерело )

Ці кроки охоплюють налаштування MS SQL Server для Linux Public Preview. Це і метод Докера - це два способи налаштування MSSQL Server для Linux.

Застереження:

  1. Потрібно мати 64-бітну систему для MSSQL Server.
  2. Для встановлення MSSQL Server вам потрібно принаймні 4 Гб оперативної пам’яті в системі.
  3. Для цього у вас повинен бути Ubuntu 16.04, на їх серверах сховища на даний момент немає інших версій.

Щоб встановити mssql-serverпакет на Ubuntu, виконайте наступні дії:

  1. Введіть режим суперпользователя.

    sudo su
    
  2. Імпортуйте відкриті сховища GPG-ключів:

    curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
    
  3. Зареєструйте сховище Ubuntu Microsoft SQL Server:

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"
    
  4. Вийдіть із режиму суперрузера.

    exit
    
  5. Виконайте такі команди, щоб встановити SQL Server:

    sudo apt-get update
    sudo apt-get install -y mssql-server
    
  6. Після завершення установки пакета запустіть сценарій конфігурації та дотримуйтесь підказок.

    sudo /opt/mssql/bin/mssql-conf setup
    
  7. Після завершення конфігурації перевірте, чи працює служба:

    systemctl status mssql-server
    

Див.: Швидкий старт: Встановіть SQL Server та створіть базу даних на Ubuntu .


mssql-toolsКроки встановлення ( джерело )

Цей розділ охоплює налаштування mssql-toolsякого включає sqlcmdкоманду. Ці кроки необхідні для будь-яких систем, у яких ви хочете використовувати sqlcmdкоманду або інші утиліти Microsoft, що походять з Microsoft, для взаємодії з MSSQL Server.

(Це не потрібно для інших бібліотек Python для взаємодії з MSSQL або інших утиліт, таких як DataGrip, який може взаємодіяти з серверами тощо, яким не потрібен mssql-toolsпакунок для роботи.)

Застереження:

  1. Я не знайшов такої версії для не 64-бітових систем. Можливо, вам знадобиться 64-бітова система для роботи цих інструментів.
  2. Зараз ви можете використовувати інструменти лише 16.04.
  1. Увійдіть в режим суперпользователя

    sudo su
    
  2. Імпортуйте відкриті сховища GPG-ключів:

    curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
    
  3. Зареєструйте сховище Microsoft Ubuntu:

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/prod.list)"
    
  4. Вихід із режиму суперрузера:

    exit
    
  5. Оновіть список джерел і запустіть команду встановлення:

    sudo apt-get update
    sudo apt-get install mssql-tools
    


Як згадується у докерному рішенні - тут також слід сказати, що сервер mssql буде працювати тільки на архітектурі amd64 (на відміну від arm або arm64, що пропонується в деяких хмарах).
userfuser

1
Варто зазначити, що sqlservr-setupбуло перейменовано на mssql-conf setup.
Том

У вашому sourcesql сказано, що вам потрібно 2 ГБ, а не 4 ГБ оперативної пам’яті, як ви згадали.
Offir Pe'er

9

Використання Docker (лише для amd64)

Також можливо запустити MSSQL Server на Ubuntu за допомогою Docker. Це можна зробити, обережно виконуючи наведені нижче кроки:

  1. Якщо ви використовуєте Ubuntu 14.04 або будь-який інший випуск, старший за Xenial (16.04) , вам потрібно буде встановити нову версію Docker, ніж надають архіви.

    Якщо так, дотримуйтесь інструкцій на цій сторінці .

    Якщо ні, просто запустіть:

    sudo apt-get install docker.io
    
  2. Перевірте, що ви можете підключитися до локального демона Docker за допомогою:

    docker info
    

    Якщо ви отримаєте помилку типу Cannot connect to the Docker daemon., вам потрібно буде додати себе до dockerгрупи:

    sudo usermod -a -G docker <USERNAME>
    

    ... де <USERNAME>замінено ваше ім'я користувача. Щоб зміни набули чинності, вам потрібно буде вийти з системи та знову увійти.

  3. Витягніть зображення MSSQL з Docker Hub:

    docker pull microsoft/mssql-server-linux
    
  4. Створіть на хості каталог, який буде зберігати дані з контейнера та зберігати значення для змінної середовища для зручності:

    export DIR=/var/lib/mssql
    sudo mkdir $DIR
    
  5. Запустіть контейнер:

    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
    

    Замініть <PASSWORD>унікальним значенням, яке пізніше буде використано для автентифікації.

  6. Перевірте, чи контейнер запускався без помилок:

    docker ps -af name=mssql
    

    Якщо під STATUSстовпцем відображається "Вгору ..." STATUS, то все працює правильно. Якщо ж відображається помилка:

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

    ... тоді ви можете використовувати docker logs mssqlдля отримання додаткової інформації.

Щоб підключитися до контейнера з програми, просто вкажіть порт 1433.

За замовчуванням контейнер запускається під час runйого першого запуску . Ви можете зупинити контейнер за допомогою:

docker stop mssql

Щоб вийняти контейнер, спочатку зупиніть його, а потім запустіть:

docker rm mssql

Тестували під 18.04. Дякую, це працює і це дуже швидко.
Джо Айферт

Ім'я користувача: sa, пароль повинен містити не менше 8 символів і цифр, а також верхню та нижню літери. Інакше ви не можете підключитися. Більше інформації тут: hub.docker.com/r/microsoft/mssql-server-linux
Joe Eifert
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.