Blog ENI : Toute la veille numérique !
💥 Un livre PAPIER acheté
= La version EN LIGNE offerte pendant 1 an !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici

Installation du serveur

Généralités

1. Stabilité des versions

Seules les versions qualifiées de GA (Generally Available) sont considérées comme stables et peuvent être installées sans risque sur des environnements de production.

Sauf pour une raison particulière, vous devriez éviter les anciennes versions stables, qui ne bénéficient au mieux que de correctifs de sécurité, mais pas d’ajouts de fonctionnalités.

Les versions RC (Release Candidate) sont des versions candidates au titre de versions stables et sont donc généralement de bonne qualité. Mais là encore, sauf cas exceptionnel, elles ne sont pas conseillées pour un usage en production.

Quant aux versions alpha ou bêta, elles sont parfaites pour découvrir les toutes dernières fonctionnalités sur un environnement de test ou de développement, mais elles ne peuvent pas convenir à un environnement de production en raison de leur manque de maturité.

2. Version communautaire et version Enterprise

La version communautaire est disponible sous licence GNU GPL v2.

La version Enterprise, sous licence commerciale, est fournie avec du support de la part d’Oracle ainsi que des outils d’aide à l’administration : l’Enterprise Monitor, pour la surveillance des instances, le Query Analyzer, pour la détection et l’analyse...

Installation sous Linux/UNIX

1. Installation par gestionnaire de paquets

Il s’agit de la manière la plus simple d’installer le serveur MySQL. Il vous suffit de connaître le nom du paquet, qui sera le plus souvent mysql-server ou mysql-server-version puis d’invoquer votre gestionnaire de paquets.

Exemple sous Ubuntu en ligne de commande

# sudo aptitude install mysql-server 

Attention cependant, le paquet proposé par défaut par les distributions n’est pas toujours la version la plus récente. Par exemple, avec Ubuntu 18.04, si vous regardez quelle version de MySQL sera installée avec le paquet mysql-server, vous verrez qu’il s’agit de MySQL 5.7 et non de MySQL 8.0 :

$ apt show mysql-server  
Package: mysql-server  
Version: 5.7.23-0ubuntu0.18.04.1  
[...] 

Vous aurez donc le plus souvent tout intérêt à utiliser les paquets fournis par Oracle (disponibles pour Ubuntu/Debian, Red Hat et dérivés). Pour Ubuntu/Debian, les étapes d’installation sont les suivantes :

 Téléchargez le fichier .deb à la page suivante : http://dev.mysql.com/downloads/repo/apt

 Installez le fichier .deb :

# dpkg -i mysql-apt-config_version.deb 

 Notez que pendant l’installation du fichier .deb, vous aurez le choix entre MySQL 5.7 et MySQL 8.0.

 Rafraîchissez les dépôts :

# apt-get update 

 Installez le paquet mysql-server :

# apt-get install mysql-server 

Il est à tout moment possible de sélectionner quelles versions majeures seront accessibles par le dépôt d’Oracle avec la commande :

# dpkg-reconfigure mysql-apt-config 

Les commandes pour les distributions Red Hat/CentOS sont similaires, en utilisant yum à la place de apt-get.

Le processus d’installation se déroule automatiquement. Le système vous demande au cours de l’installation le mot de passe pour le compte root :

images/02EI01N.png

L’installeur vous avertit ensuite d’un changement sur la manière dont les mots de passe sont cryptés, ce qui peut poser des problèmes si vous utilisez des versions anciennes du connecteur MySQL pour votre langage de programmation habituel. Vous pouvez alors choisir quelle méthode de cryptage le serveur devra utiliser :

images/02RI01N2.png

Certaines distributions fournissent une version officielle modifiée....

Installation sous Windows

1. Utilisation de l’installeur

L’installeur Windows est très complet et permet, par exemple, d’installer des produits complémentaires ou des mises à jour, et même de supprimer d’anciennes versions.

 L’installeur vous demandera dans le premier écran le type d’installation que vous souhaitez réaliser.

images/02EI02N.png

Si vous choisissez Custom, vous aurez alors le choix entre une multitude de composants.

images/02RI02N2.png

Après avoir cliqué sur Next, l’installeur va vous guider dans le processus d’installation, vous laissant la possibilité de commencer la configuration de votre serveur dès maintenant ou de vous en occuper plus tard (éventuellement manuellement en modifiant les paramètres directement dans le fichier de configuration).

Finalement, vous aurez un message quand l’installation est terminée :

images/02EI08N.png

2. Installation avec les binaires

Sur le site https://www.mysql.com, des binaires sont disponibles sur la page de téléchargement dans les catégories Windows et Windows x64 sous forme d’un fichier .zip.

Après avoir téléchargé et décompressé l’archive .zip dans le répertoire que vous avez choisi, il ne reste plus qu’à créer un fichier de configuration, traditionnellement appelé sous Windows my.ini plutôt que my.cnf. Le plus simple est de copier-coller l’un des fichiers exemples présents à la racine du répertoire décompressé et de modifier certains paramètres.

Ainsi, il faut penser à :

  • Changer le numéro du port dans la section [client] et la section [mysqld] si un autre serveur écoute déjà sur le port 3306.

  • Renseigner le paramètre basedir dans la section [mysqld] avec le chemin du répertoire dans lequel vous avez décompressé l’archive.

  • Changer le paramètre server-id dans la section [mysqld] si un autre serveur possède déjà ce server-id.

Voici à quoi peuvent ressembler ces paramètres :

[client] 
port      ...

Installations de test avec Docker

1. Introduction

Installer manuellement MySQL comme expliqué dans les sections précédentes est tout à fait possible, mais les opérations deviennent vite fastidieuses lorsqu’il s’agit de créer régulièrement de nouveaux environnements. Des solutions existent pour automatiser la création d’instances jetables, comme par exemple dbdeployer (voir la page https://github.com/datacharmer/dbdeployer), mais elles ont souvent le défaut d’être spécifiques à certains systèmes d’exploitation. dbdeployer, par exemple, ne fonctionne pas sous Windows.

Créer une machine virtuelle pour chaque nouvelle instance est également une solution possible. Vous pouvez ainsi obtenir un serveur paramétré avec les chemins par défaut, et lorsque vous aurez terminé vos tests, il vous suffira de détruire la machine virtuelle. Cette méthode a cependant ses limites : créer une machine virtuelle prend beaucoup de temps et aussi beaucoup d’espace disque.

Utiliser Docker pour tester MySQL vise à s’affranchir de ces limitations. Docker est basé sur la technologie des conteneurs, qui pourrait être décrite comme une virtualisation légère. Vous pourrez ainsi très facilement créer des conteneurs qui auront les avantages des machines...

Mise à jour de MySQL

1. Précautions à prendre avant la mise à jour

a. Sauts de version

Si vous souhaitez changer de version mineure, il n’est pas nécessaire de passer par toutes les versions mineures intermédiaires. Par exemple, vous pouvez passer directement sans grand risque d’une version 8.0.10 à une version 8.0.12. La lecture des modifications apportées entre les deux versions est cependant recommandée (voir ci-après).

Au contraire, quand il s’agit de versions majeures, il est conseillé de passer par toutes les versions majeures intermédiaires. Dans certains cas, il est possible de sauter une ou plusieurs versions majeures, pour par exemple mettre à jour de 5.5 à 5.7.

Consultez par exemple l’article ci-dessous qui explique comment mettre à jour directement de MySQL 5.0 à MySQL 5.7 : http://mysqlserverteam.com/upgrading-directly-from-mysql-5-0-to-5-7-using-an-in-place-upgrade/

Notez cependant que la procédure décrite dans l’article ne permet pas d’effectuer une mise à jour sans interruption de service, ce qui est la plupart du temps un prérequis.

b. Changements apportés par une version

Il est conseillé de toujours lire les changements apportés par la version vers laquelle vous souhaitez migrer (ainsi que les changements de toutes les versions intermédiaires si vous prévoyez de sauter des versions). En effet, bien qu’il semble logique qu’une version plus récente ne contienne que des améliorations, il arrive de temps en temps que la correction d’un problème entraîne un autre problème, ou encore qu’une fonctionnalité soit supprimée.

À titre d’exemple, la commande SQL RENAME DATABASE...

Installation des outils utilisés dans l’ouvrage

Certains exemples de ce livre reposent sur deux bases exemples téléchargeables sur le site https://www.mysql.com. Il vous sera très profitable d’installer ces bases pour pouvoir reproduire directement les manipulations décrites sur une instance que vous aurez installée sur votre ordinateur habituel.

1. Installation de la base world

Vous trouverez une archive compressée de la base world à l’adresse suivante : http://dev.mysql.com/doc/index-other.html. Après avoir téléchargé et décompressé l’archive, vous obtiendrez un fichier world.sql qui vous permettra de reconstituer les données après avoir créé la base world :

mysql> CREATE DATABASE world; 
 
shell> mysql -uroot -p world < world.sql 

Si tout s’est bien passé, vous trouverez trois tables dans la base world :

mysql> USE world; 
 
mysql> SHOW TABLES; 
+-----------------+ 
| Tables_in_world | 
+-----------------+ 
| City            | 
| Country         | 
| CountryLanguage | 
+-----------------+ 

2. Installation de la base sakila

La procédure est similaire à celle décrite pour la base world : après avoir téléchargé et décompressé l’archive...

Installation du Percona Toolkit

Le Percona Toolkit est un ensemble de scripts facilitant le travail des administrateurs en rendant simples des tâches normalement fastidieuses. Ces scripts vont par exemple permettre :

  • D’identifier facilement les index redondants.

  • D’analyser un journal de requêtes afin d’en extraire les requêtes les plus coûteuses.

  • De vérifier la cohérence des données entre un serveur maître et un serveur esclave.

  • D’exécuter des commandes ALTER TABLE de manière non bloquante.

Nous aurons l’occasion d’examiner l’utilisation de plusieurs de ces outils tout au long de cet ouvrage.

Il existe plusieurs méthodes pour installer Percona Toolkit :

  • Utiliser votre gestionnaire de paquets. Il s’agit de la méthode la plus simple, mais vous aurez de fortes chances de vous retrouver avec une version ancienne. La commande à saisir sous Ubuntu est :

shell> sudo aptitude install percona-toolkit 
  • Télécharger une distribution en tar.gz :

shell> wget http://www.percona.com/get/percona-toolkit.tar.gz 
  • Télécharger individuellement les outils qui vous intéressent. Chaque outil étant autonome, il est parfaitement possible de ne pas tous les installer :

shell> wget http://www.percona.com/get/OUTIL 

OUTIL est le nom de l’outil que vous souhaitez installer (par exemple...