Database
 sql >> Base de données >  >> RDS >> Database

Comment installer Microsoft SQL sur Linux

Dans cet article, nous expliquerons comment installer Microsoft SQL ou MSSQL sur Linux. Microsoft SQL, familièrement appelé MSSQL, est un système de gestion de base de données relationnelle créé par Microsoft. MySQL et PostgreSQL open source sont généralement synonymes de distributions Linux, mais l'utilisation de MSSQL sous Linux est également prise en charge. MSSQL offre certaines fonctionnalités que ses homologues open source n'offrent pas, et selon les exigences de l'application, il peut être le bon choix pour un SGBDR. Dans ce didacticiel, nous allons expliquer comment installer MSSQL sur CentOS 7 et Ubuntu 16.04.

Vérification avant vol

  • Vous devrez vérifier que votre serveur dispose d'au moins 2 Go de mémoire
  • Ces instructions sont exécutées respectivement sur les serveurs CentOS 7 et Ubuntu 16.04 LTS en tant qu'utilisateur root

CentOS 7

Étape 1 :Ajouter un référentiel d'aperçu MSSQL 2019

Tout d'abord, comme bonne pratique, assurez-vous que tous les packages sont à jour :

root@centos ~]# yum update -y

Ensuite, nous devons indiquer au gestionnaire de packages yum où rechercher le package mssql-server en ajoutant le dépôt approprié :

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

Étape 2 :Installer SQL Server

Maintenant que yum est au courant du référentiel MSSQL, nous pouvons utiliser yum pour installer le package :

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

Étape 3 :Configurer le serveur MSSQL

Ensuite, nous devons configurer SQL avec un mot de passe d'administrateur système et confirmer l'édition que nous voulons utiliser. Ce tutoriel utilisera l'édition Developer, choix 2, car elle est gratuite :

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.

Après cela, nous devons vérifier que le service mssql est en cours d'exécution :

root@centos ~]# systemctl status mssql-server

Le résultat devrait ressembler à ceci :

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

Étape 4 (facultatif) :Autoriser les connexions à distance

Si vous souhaitez que votre serveur SQL soit accessible à distance, vous devrez ouvrir le port SQL Server :

Remarque :Procéder avec prudence. Des pare-feu sont en place pour assurer la sécurité de votre serveur en limitant l'accès à celui-ci. À moins que vous ne prévoyiez d'accéder à SQL Server à distance, il est inutile d'ouvrir ce port.

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

Après avoir ajouté la règle, nous devons recharger nos règles de pare-feu et vérifier que le port est ouvert :

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

Étape 5 :Ajouter un référentiel Microsoft Red Hat

Maintenant, nous avons besoin d'un moyen d'interagir avec notre serveur SQL. Tout d'abord, ajoutons un autre référentiel afin que nous puissions utiliser yum pour installer les outils de ligne de commande SQL Server

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

Étape 6 :Installer et configurer les outils de ligne de commande MSSQL Server

Maintenant que yum connaît les packages que nous voulons installer, nous devons les installer. Il est important de noter que lors de l'installation de ces packages, il y aura quelques invites interactives pour accepter les termes de la licence :

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

Pour faciliter l'utilisation, nous pouvons ajouter le chemin

/opt/mssql-tools/bin/ 

à la variable PATH sur le serveur afin que nous puissions exécuter des commandes sql à partir de n'importe quel emplacement sur le serveur :

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

root@centos ~]# source ~/.bashrc

La dernière étape consiste à vérifier que nous pouvons établir une connexion à SQL Server :

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

Ubuntu 18.04 LTS

Étape 1 :Ajouter le référentiel d'aperçu MSSQL Server Ubuntu 2019

Commençons par mettre à jour les packages du serveur :

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

Une fois les packages du serveur mis à jour, nous devons ajouter les clés GPG pour le référentiel que nous voulons ajouter. Les clés GPG permettent aux utilisateurs Linux de vérifier la validité des fichiers et de confirmer qu'ils proviennent de sources fiables :

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

Maintenant que les clés GPG sont en place, nous pouvons ajouter le référentiel :

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

Le référentiel que nous venons d'ajouter nécessite une connexion HTTPS. Pour s'assurer qu'apt peut se connecter au référentiel, nous devons être certains qu'il peut se connecter via https :

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

Étape 2 :Installer le serveur MSSQL

Maintenant que le référentiel contenant les packages MSSQL Server est disponible, il ne reste plus qu'à s'assurer qu'apt connaît le nouveau référentiel et à installer MSSQL Server :

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

Étape 3 :Configurer le serveur MSSQL

L'étape de configuration est la même sur CentOS 7 et Ubuntu 16.04. Au cours du processus de configuration, des invites interactives vous invitent à choisir l'édition de SQL Server, à accepter les termes de la licence et à saisir un mot de passe d'administrateur 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 devrait maintenant être en cours d'exécution et activé. Afin de vérifier que c'est bien le cas, nous pouvons lancer cette commande :

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

Étape 4 (facultatif) :Autoriser les connexions à distance

Si vous avez l'intention d'utiliser une connexion à distance à votre nouveau SQL Server, il sera nécessaire d'ouvrir le port SQL Server :

Remarque :Encore une fois procéder avec prudence. Des pare-feu sont en place pour assurer la sécurité de votre serveur en limitant l'accès à celui-ci. À moins que vous ne prévoyiez d'accéder à SQL Server à distance, il est inutile d'ouvrir ce port.

Pour que nos interactions avec le pare-feu restent succinctes, installez ufw, autrement connu sous le nom de Pare-feu non compliqué :

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

Une fois installé, ufw doit être activé. Vous verrez un avertissement indiquant que votre connexion SSH pourrait être interrompue. Si votre session SSH est déconnectée, reconnectez-vous et continuez :

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

Maintenant que ufw est en place et activé, il est temps d'autoriser le trafic vers le port 1433 :

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

Étape 5 :Installez et configurez les outils de ligne de commande MSSQL Server

Tout d'abord, comme nous l'avons fait précédemment, nous devons ajouter de nouvelles clés GPG pour le référentiel contenant les outils de ligne de commande MSSQL :

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

Nous pouvons maintenant ajouter le référentiel :

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

Après cela, mettez à jour apt et installez les outils de ligne de commande :

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

Il devrait y avoir une ou deux invites interactives pour accepter les licences lors de l'installation qui ressemblent à ceci :

Facilitons l'exécution de sqlcmd n'importe où sur le serveur :

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

Enfin, il est temps de vérifier que nous pouvons nous connecter à MSSQL Server localement :

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

Commencez dès aujourd'hui !

Avez-vous besoin de configurer un autre système de base de données comme MSSQL sous Linux ? Besoin d'aide pour configurer une base de données existante ou dépanner un sujet connexe qui vous frustre ? Nous avons certains des meilleurs esprits de l'industrie qui travaillent pour Liquid Web et nous sommes là 24 heures sur 24, 365 jours par an, n'attendant que de le prouver ! Nous pouvons intervenir à tout moment pour vous fournir l'assistance dont vous avez besoin pour faire avancer les problèmes.