sql >> Databáze >  >> RDS >> Database

Jak nainstalovat Microsoft SQL na Linux

V tomto článku budeme diskutovat o tom, jak nainstalovat Microsoft SQL nebo MSSQL na Linux. Microsoft SQL, hovorově označovaný jako MSSQL, je systém pro správu relačních databází vytvořený společností Microsoft. Open-source MySQL a PostgreSQL jsou typicky synonyma pro linuxové distribuce, ale je podporována i práce s MSSQL na Linuxu. MSSQL nabízí některé funkce, které jeho protějšky s otevřeným zdrojovým kódem nemají, a v závislosti na požadavcích aplikace může být tou správnou volbou pro RDBMS. V tomto tutoriálu si projdeme, jak nainstalovat MSSQL na CentOS 7 a Ubuntu 16.04.

Předletová kontrola

  • Budete muset ověřit, zda má váš server alespoň 2 GB paměti
  • Tyto pokyny se provádějí na serverech CentOS 7 a Ubuntu 16.04 LTS jako uživatel root

CentOS 7

Krok 1:Přidejte MSSQL 2019 Preview Repo

Nejprve se osvědčeným postupem ujistěte, že jsou všechny balíčky aktuální:

root@centos ~]# yum update -y

Dále musíme správci balíčků sdělit yum, kde má hledat balíček mssql-server přidáním příslušného úložiště:

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

Krok 2:Nainstalujte SQL Server

Nyní, když yum zná repo MSSQL, můžeme použít yum k instalaci balíčku:

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

Krok 3:Konfigurace serveru MSSQL

Dále musíme nakonfigurovat SQL pomocí hesla správce systému a potvrdit edici, kterou chceme použít. Tento výukový program bude používat edici pro vývojáře, volbu 2, protože je zdarma:

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.

Poté musíme ověřit, že služba mssql běží:

root@centos ~]# systemctl status mssql-server

Výstup by měl vypadat nějak takto:

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 (Volitelné):Povolte vzdálená připojení

Pokud chcete, aby byl váš SQL server přístupný vzdáleně, budete muset otevřít port SQL Server:

Poznámka :Postupujte obezřetně. Firewally jsou na místě, aby udržely váš server v bezpečí tím, že omezují přístup k němu. Pokud neplánujete vzdálený přístup k SQL Serveru, není nutné tento port otevírat.

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

Po přidání pravidla musíme znovu načíst naše pravidla brány firewall a ověřit, zda je port otevřený:

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

Krok 5:Přidejte úložiště Microsoft Red Hat

Nyní potřebujeme způsob interakce s naším SQL serverem. Nejprve přidejte další repo, abychom mohli použít yum k instalaci nástrojů příkazového řádku SQL Server

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

Krok 6:Instalace a nastavení nástrojů příkazového řádku MSSQL Server

Nyní, když yum ví o balíčcích, které chceme nainstalovat, musíme je nainstalovat. Je důležité si uvědomit, že během instalace těchto balíčků se zobrazí několik interaktivních výzev k přijetí licenčních podmínek:

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

Pro usnadnění použití můžeme přidat cestu

/opt/mssql-tools/bin/ 

do proměnné PATH na serveru, abychom mohli spouštět příkazy SQL z libovolného místa na serveru:

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

root@centos ~]# source ~/.bashrc

Posledním krokem je ověření, že se můžeme připojit k serveru SQL:

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

Ubuntu 18.04 LTS

Krok 1:Přidání náhledového úložiště MSSQL Server Ubuntu 2019

Nejprve aktualizujme serverové balíčky:

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

Jakmile jsou balíčky serveru aktualizovány, musíme přidat klíče GPG pro úložiště, které chceme přidat. Klíče GPG představují pro uživatele Linuxu způsob, jak ověřit platnost souborů a potvrdit, že pocházejí z důvěryhodných zdrojů:

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

Nyní, když jsou klíče GPG na svém místě, můžeme přidat úložiště:

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

Úložiště, které jsme právě přidali, vyžaduje připojení HTTPS. Aby bylo zajištěno, že se apt může připojit k repo, musíme si být jisti, že se může připojit přes https:

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

Krok 2:Nainstalujte MSSQL Server

Nyní, když je k dispozici repo obsahující balíčky MSSQL Server, zbývá pouze zajistit, aby apt věděl o novém repo a nainstalovat MSSQL Server:

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

Krok 3:Konfigurace serveru MSSQL

Krok konfigurace je stejný na CentOS 7 i Ubuntu 16.04. Během procesu konfigurace se zobrazí interaktivní výzvy k výběru edice SQL Server, přijetí licenčních podmínek a zadání hesla správce 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.

MSSQL Server by nyní měl být spuštěn a povolen. Abychom si ověřili, že tomu tak ve skutečnosti je, můžeme spustit tento příkaz:

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 (Volitelné):Povolte vzdálená připojení

Pokud máte v úmyslu využít vzdálené připojení k vašemu novému SQL Serveru, bude nutné otevřít SQL Server port:

Poznámka :Opět postupujte opatrně. Firewally jsou na místě, aby udržely váš server v bezpečí tím, že omezují přístup k němu. Pokud neplánujete vzdálený přístup k SQL Serveru, není nutné tento port otevírat.

Aby naše interakce s firewallem zůstaly stručné, nainstalujte ufw, jinak známý jako Uncomplicated Firewall:

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

Po instalaci musí být ufw povoleno. Zobrazí se varování, že vaše připojení SSH může být přerušeno. Pokud je vaše relace SSH odpojena, přihlaste se znovu a pokračujte:

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

Nyní, když je ufw na místě a povoleno, je čas povolit provoz na port 1433:

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

Krok 5:Instalace a nastavení nástrojů příkazového řádku serveru MSSQL

Nejprve, jako jsme to udělali dříve, musíme přidat některé nové klíče GPG pro repo, které obsahuje nástroje příkazového řádku MSSQL:

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

Nyní můžeme přidat úložiště:

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

Poté aktualizujte apt a nainstalujte nástroje příkazového řádku:

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

Během instalace by měla existovat jedna nebo dvě interaktivní výzvy k přijetí licencí, které vypadají přibližně takto:

Pojďme si usnadnit spuštění sqlcmd kdekoli na serveru:

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

Konečně je čas ověřit, že se můžeme lokálně připojit k serveru MSSQL:

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

Začněte ještě dnes!

Potřebujete nastavit alternativní databázový systém, jako je MSSQL na Linuxu? Potřebujete pomoc s konfigurací existující databáze nebo řešením problémů s něčím, co vás frustrovalo? Pro Liquid Web máme jedny z nejlepších mozků v oboru a jsme připraveni 24 hodin denně, 365 dní v roce a jen čekáme, abychom to dokázali! Můžeme kdykoli zasáhnout, abychom vám poskytli pomoc, kterou potřebujete, abyste problémy posunuli dál.


  1. Chyba CTE:Typy se mezi kotvou a rekurzivní částí neshodují

  2. Nesprávná syntaxe poblíž klíčového slova 'with'...předchozí příkaz musí být ukončen středníkem

  3. Robotický přístup k databázi vyvolá chybu

  4. Jak vypočítat marži v MySQL