Database
 sql >> база данни >  >> RDS >> Database

Как да инсталирате Microsoft SQL на Linux

В тази статия ще обсъдим как да инсталирате Microsoft SQL или MSSQL на Linux. Microsoft SQL, наричан разговорно MSSQL, е система за управление на релационни бази данни, създадена от Microsoft. MySQL и PostgreSQL с отворен код обикновено са синоними на Linux дистрибуции, но работата с MSSQL на Linux също се поддържа. MSSQL предлага някои функции, които неговите колеги с отворен код не, и в зависимост от изискванията на приложението, може да е правилният избор за RDBMS. В този урок ще разгледаме как да инсталирате MSSQL на CentOS 7 и Ubuntu 16.04.

Проверка преди полета

  • Ще трябва да потвърдите, че сървърът ви има поне 2 GB памет
  • Тези инструкции се изпълняват съответно на сървъри CentOS 7 и Ubuntu 16.04 LTS като root потребител

CentOS 7

Стъпка 1:Добавете MSSQL 2019 Preview Repo

Първо, като най-добра практика, уверете се, че всички пакети са актуални:

root@centos ~]# yum update -y

След това трябва да кажем на мениджъра на пакети yum къде да търси пакета mssql-server, като добавим подходящото репо:

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

Стъпка 2:Инсталирайте SQL Server

Сега, когато yum е наясно с MSSQL репо, можем да използваме yum, за да инсталираме пакета:

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

Стъпка 3:Конфигуриране на MSSQL сървър

След това трябва да конфигурираме SQL с парола на системен администратор и да потвърдим изданието, което искаме да използваме. Този урок ще използва изданието за разработчици, избор 2, тъй като е безплатен:

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.

След това трябва да проверим дали услугата mssql работи:

root@centos ~]# systemctl status mssql-server

Резултатът трябва да изглежда по следния начин:

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

Стъпка 4 (по избор):Разрешете отдалечени връзки

Ако искате вашият SQL сървър да бъде достъпен от разстояние, ще трябва да отворите порта на SQL Server:

Забележка :Продължете с повишено внимание. Защитните стени са на място, за да поддържат вашия сървър в безопасност, като ограничават достъпа до него. Освен ако не планирате да осъществявате отдалечен достъп до SQL Server, не е необходимо да отваряте този порт.

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

След като добавим правилото, трябва да презаредим нашите правила за защитната стена и да проверим дали портът е отворен:

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

Стъпка 5:Добавете хранилище на Microsoft Red Hat

Сега имаме нужда от начин за взаимодействие с нашия SQL сървър. Първо, нека добавим още едно репо, за да можем да използваме yum за инсталиране на инструменти от командния ред на SQL Server

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

Стъпка 6:Инсталирайте и настройте инструменти от командния ред на MSSQL Server

Сега, когато yum е наясно с пакетите, които искаме да инсталираме, трябва да ги инсталираме. Важно е да се отбележи, че по време на инсталирането на тези пакети ще има няколко интерактивни подкана за приемане на лицензионните условия:

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

За по-лесно използване можем да добавим пътя

/opt/mssql-tools/bin/ 

към променливата PATH на сървъра, за да можем да изпълняваме sql команди от всяко място на сървъра:

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

root@centos ~]# source ~/.bashrc

Последната стъпка е да проверим дали можем да направим връзка със SQL Server:

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

Ubuntu 18.04 LTS

Стъпка 1:Добавете репозитория за визуализация на MSSQL Server Ubuntu 2019

Първо, нека актуализираме сървърните пакети:

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

След като сървърните пакети бъдат актуализирани, трябва да добавим GPG ключовете за хранилището, което искаме да добавим. GPG ключовете са начин потребителите на Linux да проверят валидността на файловете и да потвърдят, че идват от надеждни източници:

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

Сега, когато GPG ключовете са на мястото си, можем да добавим хранилището:

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

Хранилището, което току-що добавихме, изисква HTTPS връзка. За да гарантираме, че apt може да се свърже с репо, трябва да сме сигурни, че може да се свърже през https:

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

Стъпка 2:Инсталирайте MSSQL сървър

Сега, когато репото, съдържащо пакетите на MSSQL Server е налично, остава само да се уверите, че apt знае за новото репо и да инсталира MSSQL Server:

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

Стъпка 3:Конфигуриране на MSSQL сървър

Стъпката за конфигуриране е една и съща както в CentOS 7, така и в Ubuntu 16.04. По време на процеса на конфигуриране ще има интерактивни подкани за избор на изданието на SQL Server, приемане на лицензионните условия и въвеждане на парола за администратор на 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 вече трябва да работи и да е активиран. За да проверим дали това всъщност е така, можем да изпълним тази команда:

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

Стъпка 4 (по избор):Разрешете отдалечени връзки

Ако възнамерявате да използвате отдалечена връзка с вашия нов SQL Server, ще е необходимо да отворите порта на SQL Server:

Забележка :Отново продължете с повишено внимание. Защитните стени са на място, за да поддържат вашия сървър в безопасност, като ограничават достъпа до него. Освен ако не планирате да осъществявате отдалечен достъп до SQL Server, не е необходимо да отваряте този порт.

За да поддържате взаимодействията ни със защитната стена кратки, инсталирайте ufw, известен още като Неусложнена защитна стена:

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

Веднъж инсталиран, ufw трябва да бъде активиран. Ще видите предупреждение, което показва, че вашата SSH връзка може да бъде прекъсната. Ако вашата SSH сесия е прекъсната, влезте отново и продължете:

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

Сега, когато ufw е на място и е активиран, е време да разрешите трафика през порт 1433:

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

Стъпка 5:Инсталирайте и настройте инструменти от командния ред на MSSQL Server

Първо, както направихме преди, трябва да добавим някои нови GPG ключове за репо, което съдържа инструментите на командния ред MSSQL:

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

Сега можем да добавим хранилището:

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

След това актуализирайте apt и инсталирайте инструментите на командния ред:

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

Трябва да има една или две интерактивни подкани за приемане на лицензи по време на инсталацията, които изглеждат така:

Нека улесним изпълнението на sqlcmd навсякъде на сървъра:

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

И накрая, време е да проверим дали можем да се свържем с MSSQL сървър локално:

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

Започнете днес!

Трябва ли да настроите алтернативна система за бази данни като MSSQL на Linux? Нуждаете се от помощ при конфигуриране на съществуваща база данни или отстраняване на неизправности в свързано, което ви разочарова? Имаме едни от най-добрите умове в индустрията, работещи за Liquid Web, и ние сме на линия 24 часа в денонощието, 365 дни в годината, просто чакаме да го докажем! Можем да се намесим по всяко време, за да предоставим необходимата ви помощ, за да придвижите проблемите.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как се стартират паралелни планове – част 1

  2. Модел на база данни за система за съобщения

  3. Анализ на данни срещу наука за данни:Каква е разликата?

  4. Как филтрираните индекси могат да бъдат по-мощна функция

  5. Изпращане на данни от SentryOne към калкулатора DTU на базата данни на Azure SQL