Database
 sql >> Datenbank >  >> RDS >> Database

So installieren Sie Microsoft SQL unter Linux

In diesem Artikel besprechen wir, wie Sie Microsoft SQL oder MSSQL unter Linux installieren. Microsoft SQL, umgangssprachlich als MSSQL bezeichnet, ist ein von Microsoft entwickeltes Verwaltungssystem für relationale Datenbanken. Open-Source-MySQL und PostgreSQL sind normalerweise Synonyme für Linux-Distributionen, aber die Arbeit mit MSSQL unter Linux wird ebenfalls unterstützt. MSSQL bietet einige Funktionen, die seine Open-Source-Pendants nicht haben, und je nach Anwendungsanforderungen könnte es die richtige Wahl für ein RDBMS sein. In diesem Tutorial zeigen wir Ihnen, wie Sie MSSQL unter CentOS 7 und Ubuntu 16.04 installieren.

Check vor dem Flug

  • Sie müssen sicherstellen, dass Ihr Server über mindestens 2 GB Arbeitsspeicher verfügt
  • Diese Anweisungen werden auf CentOS 7- bzw. Ubuntu 16.04 LTS-Servern als Root-Benutzer ausgeführt

CentOS 7

Schritt 1:MSSQL 2019 Preview Repo hinzufügen

Stellen Sie als Best Practice zunächst sicher, dass alle Pakete auf dem neuesten Stand sind:

root@centos ~]# yum update -y

Als Nächstes müssen wir dem Paketmanager yum mitteilen, wo er nach dem mssql-server-Paket suchen soll, indem wir das entsprechende Repo hinzufügen:

root@centos ~]# curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-preview.repo

Schritt 2:SQL Server installieren

Jetzt, da yum das MSSQL-Repo kennt, können wir yum verwenden, um das Paket zu installieren:

root@centos ~]# yum install -y mssql-server

Schritt 3:Konfigurieren Sie MSSQL Server

Als nächstes müssen wir SQL mit einem Systemadministrator-Passwort konfigurieren und die Edition bestätigen, die wir verwenden möchten. Dieses Tutorial verwendet die Developer Edition, Option 2, da sie kostenlos ist:

root@centos ~]# /opt/mssql/bin/mssql-conf setup
usermod: no changes
Choose an edition of SQL Server:
  1) Evaluation (free, no production use rights, 180-day limit)
  2) Developer (free, no production use rights)
  3) Express (free)
  4) Web (PAID)
  5) Standard (PAID)
  6) Enterprise (PAID) - CPU Core utilization restricted to 20 physical/40 hyperthreaded
  7) Enterprise Core (PAID) - CPU Core utilization up to Operating System Maximum
  8) I bought a license through a retail sales channel and have a product key to enter.

Details about editions can be found at
https://go.microsoft.com/fwlink/?LinkId=852748&clcid=0x409

Use of PAID editions of this software requires separate licensing through a
Microsoft Volume Licensing program.
By choosing a PAID edition, you are verifying that you have the appropriate
number of licenses in place to install and run this software.

Enter your edition(1-8): 2
The license terms for this product can be found in
/usr/share/doc/mssql-server or downloaded from:
https://go.microsoft.com/fwlink/?LinkId=855862&clcid=0x409

The privacy statement can be viewed at:
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409

Do you accept the license terms? [Yes/No]:Yes

Enter the SQL Server system administrator password:
Confirm the SQL Server system administrator password:
Configuring SQL Server...

This is an evaluation version.  There are [116] days left in the evaluation period.
ForceFlush is enabled for this instance.
ForceFlush feature is enabled for log durability.
Created symlink from /etc/systemd/system/multi-user.target.wants/mssql-server.service to /usr/lib/systemd/system/mssql-server.service.
Setup has completed successfully. SQL Server is now starting.

Danach müssen wir überprüfen, ob der mssql-Dienst ausgeführt wird:

root@centos ~]# systemctl status mssql-server

Die Ausgabe sollte in etwa so aussehen:

mssql-server.service - Microsoft SQL Server Database Engine
   Loaded: loaded (/usr/lib/systemd/system/mssql-server.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2019-10-23 20:18:03 EDT; 2min 45s ago
     Docs: https://docs.microsoft.com/en-us/sql/linux
 Main PID: 61529 (sqlservr)
   CGroup: /system.slice/mssql-server.service
           ├─61529 /opt/mssql/bin/sqlservr
           └─61549 /opt/mssql/bin/sqlservr

Schritt 4 (optional):Remote-Verbindungen zulassen

Wenn Sie möchten, dass Ihr SQL-Server aus der Ferne zugänglich ist, müssen Sie den SQL-Server-Port öffnen:

Hinweis :Mit Vorsicht fortfahren. Firewalls sind vorhanden, um Ihren Server zu schützen, indem der Zugriff darauf eingeschränkt wird. Sofern Sie nicht vorhaben, remote auf SQL Server zuzugreifen, ist es nicht erforderlich, diesen Port zu öffnen.

root@centos ~]# firewall-cmd --zone=public --add-port=1433/tcp --permanent

Nach dem Hinzufügen der Regel müssen wir unsere Firewall-Regeln neu laden und überprüfen, ob der Port offen ist:

[root@centos ~]# firewall-cmd --reload
success
root@centos ~]# firewall-cmd --list-ports
1433/tcp

Schritt 5:Microsoft Red Hat-Repository hinzufügen

Jetzt brauchen wir eine Möglichkeit, mit unserem SQL-Server zu interagieren. Zuerst fügen wir ein weiteres Repo hinzu, damit wir yum verwenden können, um SQL Server-Befehlszeilentools zu installieren

root@centos ~]# curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo

Schritt 6:MSSQL Server-Befehlszeilentools installieren und einrichten

Jetzt, da yum die Pakete kennt, die wir installieren möchten, müssen wir sie installieren. Es ist wichtig zu beachten, dass während der Installation dieser Pakete einige interaktive Eingabeaufforderungen zum Akzeptieren der Lizenzbedingungen angezeigt werden:

root@centos ~]# yum install -y mssql-tools unixODBC-devel

Zur einfacheren Verwendung können wir den Pfad

hinzufügen
/opt/mssql-tools/bin/ 

in die PATH-Variable auf dem Server, damit wir SQL-Befehle von jedem Ort auf dem Server ausführen können:

root@centos ~]# echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile

root@centos ~]# source ~/.bashrc

Der letzte Schritt besteht darin, zu überprüfen, ob wir eine Verbindung zu SQL Server herstellen können:

root@centos ~]# sqlcmd -S localhost -U SA
Password:
1>

Ubuntu 18.04 LTS

Schritt 1:Vorschau-Repository für MSSQL Server Ubuntu 2019 hinzufügen

Lassen Sie uns zuerst die Serverpakete aktualisieren:

root@ubuntu1604:~# apt-get update -y

Sobald die Serverpakete aktualisiert sind, müssen wir die GPG-Schlüssel für das Repository hinzufügen, das wir hinzufügen möchten. GPG-Schlüssel sind eine Möglichkeit für Linux-Benutzer, die Gültigkeit von Dateien zu überprüfen und zu bestätigen, dass sie aus vertrauenswürdigen Quellen stammen:

t@ubuntu1604:~# wget -qO- https://packages.microsoft.com/keys/microsoft.asc | apt-key add -

Nachdem die GPG-Schlüssel vorhanden sind, können wir das Repository hinzufügen:

root@ubuntu1604:~# add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-preview.list)"

Das gerade hinzugefügte Repository erfordert eine HTTPS-Verbindung. Um sicherzustellen, dass apt sich mit dem Repo verbinden kann, müssen wir sicher sein, dass es sich über https:

verbinden kann
root@ubuntu1604:~# apt-get install -y apt-transport-https

Schritt 2:Installieren Sie MSSQL Server

Jetzt, da das Repo mit den MSSQL Server-Paketen verfügbar ist, müssen Sie nur noch sicherstellen, dass apt über das neue Repo Bescheid weiß, und MSSQL Server installieren:

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

Schritt 3:Konfigurieren Sie MSSQL Server

Der Konfigurationsschritt ist bei CentOS 7 und Ubuntu 16.04 gleich. Während des Konfigurationsprozesses werden Sie interaktiv aufgefordert, die SQL Server-Edition auszuwählen, die Lizenzbedingungen zu akzeptieren und ein SQL-Administratorkennwort einzugeben:

root@ubuntu1604:~# /opt/mssql/bin/mssql-conf setup
usermod: no changes
Choose an edition of SQL Server:
  1) Evaluation (free, no production use rights, 180-day limit)
  2) Developer (free, no production use rights)
  3) Express (free)
  4) Web (PAID)
  5) Standard (PAID)
  6) Enterprise (PAID) - CPU Core utilization restricted to 20 physical/40 hyperthreaded
  7) Enterprise Core (PAID) - CPU Core utilization up to Operating System Maximum
  8) I bought a license through a retail sales channel and have a product key to enter.

Details about editions can be found at
https://go.microsoft.com/fwlink/?LinkId=852748&clcid=0x409

Use of PAID editions of this software requires separate licensing through a
Microsoft Volume Licensing program.
By choosing a PAID edition, you are verifying that you have the appropriate
number of licenses in place to install and run this software.

Enter your edition(1-8): 2
The license terms for this product can be found in
/usr/share/doc/mssql-server or downloaded from:
https://go.microsoft.com/fwlink/?LinkId=855862&clcid=0x409

The privacy statement can be viewed at:
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409

Do you accept the license terms? [Yes/No]:Yes

Enter the SQL Server system administrator password:
Confirm the SQL Server system administrator password:
Configuring SQL Server...

This is an evaluation version.  There are [116] days left in the evaluation period.
ForceFlush is enabled for this instance.
ForceFlush feature is enabled for log durability.
Created symlink from /etc/systemd/system/multi-user.target.wants/mssql-server.service to /lib/systemd/system/mssql-server.service.
Setup has completed successfully. SQL Server is now starting.

MSSQL Server sollte jetzt ausgeführt und aktiviert werden. Um zu überprüfen, ob dies tatsächlich der Fall ist, können wir diesen Befehl ausführen:

root@ubuntu1604:~# systemctl status mssql-server --no-pager
* mssql-server.service - Microsoft SQL Server Database Engine
   Loaded: loaded (/lib/systemd/system/mssql-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2019-10-24 00:24:23 EDT; 3min 45s ago
     Docs: https://docs.microsoft.com/en-us/sql/linux
 Main PID: 19446 (sqlservr)
    Tasks: 135
   Memory: 548.5M
      CPU: 12.499s
   CGroup: /system.slice/mssql-server.service
           |-19446 /opt/mssql/bin/sqlservr
           `-19485 /opt/mssql/bin/sqlservr

Schritt 4 (optional):Remote-Verbindungen zulassen

Wenn Sie beabsichtigen, eine Remote-Verbindung zu Ihrem neuen SQL Server zu verwenden, müssen Sie den SQL Server-Port öffnen:

Hinweis :Auch hier vorsichtig vorgehen. Firewalls sind vorhanden, um Ihren Server zu schützen, indem der Zugriff darauf eingeschränkt wird. Sofern Sie nicht vorhaben, remote auf SQL Server zuzugreifen, ist es nicht erforderlich, diesen Port zu öffnen.

Um unsere Firewall-Interaktionen prägnant zu halten, installieren Sie ufw, auch bekannt als Uncomplicated Firewall:

root@ubuntu1604:~# apt-get install -y ufw

Nach der Installation muss ufw aktiviert werden. Sie sehen eine Warnung, die darauf hinweist, dass Ihre SSH-Verbindung möglicherweise unterbrochen ist. Wenn Ihre SSH-Sitzung getrennt wird, melden Sie sich erneut an und fahren Sie fort:

root@ubuntu1604:~# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
firewall is active and enabled on system startup

Nachdem ufw eingerichtet und aktiviert ist, ist es an der Zeit, Datenverkehr zu Port 1433 zuzulassen:

root@ubuntu1604:~# ufw allow 1433
Rule added
Rule added (v6)

Schritt 5:MSSQL Server-Befehlszeilentools installieren und einrichten

Zuerst müssen wir wie zuvor einige neue GPG-Schlüssel für das Repo hinzufügen, das die MSSQL-Befehlszeilentools enthält:

root@ubuntu1604:~# curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -

Jetzt können wir das Repository hinzufügen:

root@ubuntu1604:~# curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | tee /etc/apt/sources.list.d/msprod.list

Aktualisieren Sie danach apt und installieren Sie die Befehlszeilentools:

root@ubuntu1604:~# apt-get update -y
t@ubuntu1604:~# apt-get install -y mssql-tools unixodbc-dev

Während der Installation sollten ein oder zwei interaktive Eingabeaufforderungen zum Akzeptieren von Lizenzen angezeigt werden, die in etwa so aussehen:

Machen wir es einfach, sqlcmd überall auf dem Server auszuführen:

root@ubuntu1604:~# echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
root@ubuntu1604:~# echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
root@ubuntu1604:~# source ~/.bashrc

Schließlich ist es an der Zeit zu überprüfen, ob wir lokal eine Verbindung zu MSSQL Server herstellen können:

root@ubuntu1604:~# sqlcmd -S localhost -U SA
Password:
1>

Legen Sie noch heute los!

Müssen Sie ein alternatives Datenbanksystem wie MSSQL unter Linux einrichten? Benötigen Sie Unterstützung bei der Konfiguration einer vorhandenen Datenbank oder der Fehlerbehebung bei einer verwandten Datenbank, die Sie frustriert hat? Wir haben einige der klügsten Köpfe der Branche, die für Liquid Web arbeiten, und wir stehen 24 Stunden am Tag, 365 Tage im Jahr bereit und warten nur darauf, es zu beweisen! Wir können jederzeit eingreifen, um Ihnen die Unterstützung zu bieten, die Sie benötigen, um die Probleme voranzutreiben.