Database
 sql >> Baza danych >  >> RDS >> Database

Jak zainstalować Microsoft SQL w systemie Linux

W tym artykule omówimy, jak zainstalować Microsoft SQL lub MSSQL w systemie Linux. Microsoft SQL, potocznie nazywany MSSQL, to stworzony przez Microsoft system zarządzania relacyjnymi bazami danych. Open-source MySQL i PostgreSQL są zwykle synonimami dystrybucji Linuksa, ale obsługiwana jest również praca z MSSQL w Linuksie. MSSQL oferuje pewne funkcje, których nie oferują jego odpowiedniki typu open source, i w zależności od wymagań aplikacji może być właściwym wyborem dla RDBMS. W tym samouczku omówimy, jak zainstalować MSSQL na CentOS 7 i Ubuntu 16.04.

Kontrola przed lotem

  • Musisz sprawdzić, czy Twój serwer ma co najmniej 2 GB pamięci
  • Te instrukcje są wykonywane odpowiednio na serwerach CentOS 7 i Ubuntu 16.04 LTS jako użytkownik root

CentOS 7

Krok 1:Dodaj repozytorium podglądu MSSQL 2019

Najpierw, zgodnie z najlepszą praktyką, upewnij się, że wszystkie pakiety są aktualne:

root@centos ~]# yum update -y

Następnie musimy powiedzieć menedżerowi pakietów yum, gdzie szukać pakietu mssql-server, dodając odpowiednie repozytorium:

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

Krok 2:Zainstaluj serwer SQL

Teraz, gdy yum zna repozytorium MSSQL, możemy użyć go do zainstalowania pakietu:

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

Krok 3:Skonfiguruj serwer MSSQL

Następnie musimy skonfigurować SQL hasłem administratora systemu i potwierdzić edycję, której chcemy użyć. Ten samouczek będzie korzystał z wersji deweloperskiej, wybór 2, ponieważ jest bezpłatny:

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.

Następnie musimy sprawdzić, czy usługa mssql jest uruchomiona:

root@centos ~]# systemctl status mssql-server

Wynik powinien wyglądać mniej więcej tak:

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

Krok 4 (opcjonalnie):Zezwól na połączenia zdalne

Jeśli chcesz, aby Twój serwer SQL był dostępny zdalnie, musisz otworzyć port SQL Server:

Uwaga :Postępuj ostrożnie. Zapory ogniowe zapewniają bezpieczeństwo serwera, ograniczając do niego dostęp. O ile nie planujesz zdalnego dostępu do programu SQL Server, otwieranie tego portu nie jest konieczne.

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

Po dodaniu reguły musimy ponownie załadować nasze reguły zapory i sprawdzić, czy port jest otwarty:

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

Krok 5:Dodaj repozytorium Microsoft Red Hat

Teraz potrzebujemy sposobu na interakcję z naszym serwerem SQL. Najpierw dodajmy kolejne repozytorium, abyśmy mogli użyć yum do zainstalowania narzędzi wiersza poleceń SQL Server

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

Krok 6:Zainstaluj i skonfiguruj narzędzia wiersza poleceń MSSQL Server

Teraz, gdy yum jest świadomy pakietów, które chcemy zainstalować, musimy je zainstalować. Należy pamiętać, że podczas instalacji tych pakietów pojawi się kilka interaktywnych monitów o zaakceptowanie warunków licencji:

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

Dla ułatwienia użytkowania możemy dodać ścieżkę

/opt/mssql-tools/bin/ 

do zmiennej PATH na serwerze, abyśmy mogli wykonywać polecenia sql z dowolnego miejsca na serwerze:

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

root@centos ~]# source ~/.bashrc

Ostatnim krokiem jest sprawdzenie, czy możemy nawiązać połączenie z SQL Server:

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

Ubuntu 18.04 LTS

Krok 1:Dodaj repozytorium podglądu MSSQL Server Ubuntu 2019

Najpierw zaktualizujmy pakiety serwerów:

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

Po zaktualizowaniu pakietów serwera musimy dodać klucze GPG dla repozytorium, które chcemy dodać. Klucze GPG umożliwiają użytkownikom Linuksa weryfikację poprawności plików i potwierdzenie, że pochodzą one z zaufanych źródeł:

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

Teraz, gdy klucze GPG są na swoim miejscu, możemy dodać repozytorium:

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

Repozytorium, które właśnie dodaliśmy, wymaga połączenia HTTPS. Aby upewnić się, że apt może połączyć się z repozytorium, musimy mieć pewność, że może łączyć się przez https:

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

Krok 2:Zainstaluj serwer MSSQL

Teraz, gdy repozytorium zawierające pakiety MSSQL Server jest dostępne, pozostaje tylko upewnić się, że apt wie o nowym repozytorium i zainstalować MSSQL Server:

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

Krok 3:Skonfiguruj serwer MSSQL

Krok konfiguracji jest taki sam zarówno w CentOS 7, jak i Ubuntu 16.04. Podczas procesu konfiguracji pojawią się interaktywne monity o wybranie wersji SQL Server, zaakceptowanie warunków licencji i wprowadzenie hasła administratora SQL:

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.

Serwer MSSQL powinien teraz działać i być włączony. Aby sprawdzić, czy tak jest w rzeczywistości, możemy uruchomić to polecenie:

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

Krok 4 (opcjonalnie):Zezwól na połączenia zdalne

Jeśli zamierzasz korzystać ze zdalnego połączenia z nowym serwerem SQL, konieczne będzie otwarcie portu serwera SQL:

Uwaga :Ponownie postępuj ostrożnie. Zapory ogniowe zapewniają bezpieczeństwo serwera, ograniczając do niego dostęp. O ile nie planujesz zdalnego dostępu do programu SQL Server, otwieranie tego portu nie jest konieczne.

Aby nasze interakcje z zaporą ogniową były zwięzłe, zainstaluj ufw, inaczej znany jako nieskomplikowana zapora ogniowa:

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

Po zainstalowaniu ufw musi być włączony. Zobaczysz ostrzeżenie wskazujące, że połączenie SSH może zostać przerwane. Jeśli sesja SSH jest rozłączona, zaloguj się ponownie i kontynuuj:

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

Teraz, gdy ufw jest na miejscu i włączony, nadszedł czas, aby zezwolić na ruch do portu 1433:

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

Krok 5:Zainstaluj i skonfiguruj narzędzia wiersza poleceń MSSQL Server

Po pierwsze, tak jak poprzednio, musimy dodać kilka nowych kluczy GPG dla repozytorium, które zawiera narzędzia wiersza poleceń MSSQL:

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

Teraz możemy dodać repozytorium:

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

Następnie zaktualizuj apt i zainstaluj narzędzia wiersza poleceń:

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

Podczas instalacji powinien pojawić się jeden lub dwa interaktywne monity o zaakceptowanie licencji, które wyglądają mniej więcej tak:

Ułatwmy wykonywanie sqlcmd w dowolnym miejscu na serwerze:

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

Wreszcie nadszedł czas, aby sprawdzić, czy możemy połączyć się lokalnie z MSSQL Server:

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

Rozpocznij już dziś!

Czy musisz skonfigurować alternatywny system baz danych, taki jak MSSQL w systemie Linux? Potrzebujesz pomocy w konfigurowaniu istniejącej bazy danych lub rozwiązywaniu problemów z pokrewną, która Cię frustrowała? Mamy jedne z najlepszych umysłów w branży pracujących dla Liquid Web i stoimy przez 24 godziny na dobę, 365 dni w roku, tylko czekając, aby to udowodnić! W dowolnym momencie możemy wkroczyć, aby zapewnić pomoc, której potrzebujesz, aby rozwiązać problemy.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak używać klauzuli ORDER BY w SQL?

  2. Porównanie warstw abstrakcji bazy danych PHP i wtyczek CRUD

  3. Jak klasyfikować, znajdować i maskować dane osobowe w bazach danych…

  4. Uzasadnienie nowego Maca Pro

  5. Porównanie metod dzielenia/konkatenacji łańcuchów