07/12/2025
logo-mysql-26300

Dans ce billet, nous allons installer MySQL Server avec Docker. Avant de commencer, vous devez installer le moteur et le client Docker sur la machine où vous allez effectuer l'installation. Si vous n'avez pas installé Docker, vous pouvez suivre l'un des nombreux tutoriels sur le web.

Pour une installation correcte, vous pouvez suivre les instructions à l'URL suivante :

https://hub.docker.com/r/mysql/mysql-server


Si vous souhaitez installer en téléchargeant l'image officielle supportée par Oracle, vous pouvez suivre les instructions à l'URL suivante:

https://dev.mysql.com/doc/refman/8.0/en/docker-mysql-getting-started.html

Dans notre cas, comme il s'agit d'une base de données de test, nous utiliserons la version ouverte officielle de MySQL supportée par la communauté, c'est-à-dire celle du premier lien.

Tout d'abord, la première chose à faire est de télécharger l'image MySQL dans notre Docker, comme indiqué en haut de l'écran de l'URL indiquée ci-dessus. Si vous entrez la commande "latest" ou si vous la laissez vide, elle téléchargera la dernière version disponible. Si, en revanche, vous souhaitez une version spécifique, vous pouvez la spécifier dans la commande. Dans notre cas, nous téléchargerons la dernière version disponible.

1 - Nous téléchargeons l'image MySQL dans notre Docker.

[root@ic-1 ~]# sudo docker pull mysql/mysql-server:latest
Trying to pull repository docker.io/mysql/mysql-server ...
latest : Pulling from docker.io/mysql/mysql-server
6a4a3ef82cdc : Pull complet
5518b09b1089 : Pull complet
b6b576315b62 : Pull complet
349b52643cc3 : Pull complet
abe8d2406c31 : Pull complet
c7668948e14a : Pull complet
c7e93886e496 : Pull complet
Digest : sha256:d6c8301b7834c5b9c2b733b10b7e630f441af7bc917c74dba379f24eeeb6a313
Status : Downloaded newer image for mysql/mysql-server:latest

Nous pouvons lister les images Docker que nous avons téléchargées pour vérifier que nous avons notre image mySQL avec cette commande :

images docker

REPOSITORY TAG IMAGE ID CREATED SIZE
mysql/mysql-server latest 1d9c2219ff69 Il y a 11 mois 496MB

2 - Nous exécutons et démarrons notre instance de serveur MySQL.

Pour démarrer un nouveau conteneur MySQL Server, nous devons exécuter la commande suivante :

docker run -name=nom_du_conteneur -restart on-failure -d nom_de_l'image:tag

Options :

image_name : Nom de l'image que nous allons utiliser pour exécuter le conteneur.
- -name : Optionnel, il est utilisé pour donner un nom personnalisé à notre conteneur, s'il est omis, un nom aléatoire sera généré.
- -restart : Configure la politique de redémarrage du conteneur, une valeur doit être définie en cas d'erreur. Consultez la documentation pour appliquer cette option.

Par exemple, nous allons créer un nouveau conteneur Docker pour le serveur MySQL à l'aide de la commande suivante :

Avec cette commande, nous démarrons le conteneur MySQL avec le nom "mysqltest" en utilisant la dernière version de MySQL disponible.

Nous vérifions que le conteneur fonctionne avec la commande suivante :

dockerps

root@ic-1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5b7ba4107799 mysql/mysql-server:latest "/entrypoint.sh mysq..." Il y a environ une minute Up Il y a environ une minute (health : starting) 3306/tcp, 33060-33061/tcp mysql_test

3 - Nous récupérons le mot de passe temporaire du conteneur mysql.

[root@ic-1 ~]# docker logs mysql_test 2> 1 | grep GENERATED
[Entrypoint] GENERATED ROOT PASSWORD : @WK5/k24XE;%/lrGn51v6;q@2Q_KEe5A

4 - Nous exécutons la commande nécessaire pour nous connecter à la base de données MySQL fonctionnant dans le conteneur en fournissant le mot de passe temporaire obtenu à l'étape précédente, comme suit.

[root@ic-1 ~]# docker exec -it mysql_test mysql -uroot -p
Entrez le mot de passe :
Bienvenue dans le moniteur MySQL. Les commandes se terminent par ; ou \g.
Votre identifiant de connexion MySQL est 471
Version du serveur : 8.0.32
Copyright (c) 2000, 2023, Oracle et/ou ses affiliés.
Oracle est une marque déposée d'Oracle Corporation et/ou de ses
affiliés. Les autres noms peuvent être des marques déposées de leurs
propriétaires respectifs.
Tapez 'help;' ou '\h' pour obtenir de l'aide. Tapez '\c' pour effacer la déclaration d'entrée en cours.

mysql>

5 - Une fois à l'intérieur de MySQL, nous devons changer le mot de passe temporaire de la racine, pour ce faire, nous lançons la commande suivante :

mysql> ALTER USER USER () identifié par 'oracleconraul' ;
Requête OK, 0 lignes affectées (0.19 sec)

[root@ic-1 ~]# docker exec -it mysql_test mysql -uroot -p
Entrez le mot de passe :
Bienvenue dans le moniteur MySQL. Les commandes se terminent par ; ou \g.
Votre identifiant de connexion MySQL est 519
Version du serveur : 8.0.32 MySQL Community Server - GPL
Copyright (c) 2000, 2023, Oracle et/ou ses affiliés.
Oracle est une marque déposée d'Oracle Corporation et/ou de ses
affiliés. Les autres noms peuvent être des marques déposées de leurs
propriétaires respectifs.
Tapez 'help;' ou '\h' pour obtenir de l'aide. Tapez '\c' pour effacer la déclaration d'entrée actuelle.

mysql> select version() ;
+----+
| version() |
+----+
| 8.0.32 |
+----+
1 row in set (0.00 sec)

mysql> show databases ;
+-------+
| Database |
+-------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+-------+
4 rows in set (0.00 sec)

6 - Pour arrêter et/ou démarrer le docker contenant MySQL, il suffit de faire ce qui suit :

Arrêtez le conenedor :

[root@ic-1 ~]# docker stop mysql_test
mysql_test

Vérifiez qu'il s'est arrêté correctement, en exécutant la commande :

dockerps -a

[root@ic-1 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5b7ba4107799 mysql/mysql-server:latest "/entrypoint.sh mysq..." il y a 4 heures Exited (0) il y a 3 minutes mysql_test

-Redémarrez le conteneur MySQL et vérifiez qu'il fonctionne correctement :

[root@ic-1 ~]# docker start mysql_test
mysql_test

[root@ic-1 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5b7ba4107799 mysql/mysql-server:latest "/entrypoint.sh mysq..." Il y a 5 heures En hausse de 4 minutes (sain) 3306/tcp, 33060-33061/tcp mysql_test

7 - Nous entrons à nouveau dans mysql, et nous commençons à apprécier ce gestionnaire de base de données.

[root@ic-1 ~]# docker exec -it mysql_test mysql -uroot -p
mysql : [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Les commandes se terminent par ; ou \g.
Votre identifiant de connexion MySQL est 21
Version du serveur : 8.0.32 MySQL Community Server - GPL
Copyright (c) 2000, 2023, Oracle et/ou ses affiliés.
Oracle est une marque déposée d'Oracle Corporation et/ou de ses
affiliés. Les autres noms peuvent être des marques déposées de leurs
propriétaires respectifs.
Tapez 'help;' ou '\h' pour obtenir de l'aide. Tapez '\c' pour effacer l'instruction d'entrée actuelle.

Ce sont les étapes génériques que vous devez suivre pour être en mesure d'exécuter MySQL Server dans un environnement Docker. Actuellement, ce type de déploiement devient une architecture de plus en plus courante, non seulement dans les environnements de développement, mais aussi dans les environnements de production, en particulier pour sa polyvalence et son agilité dans le déploiement.

Pour une installation sur une machine ou un serveur MySQL, vous pouvez consulter cet article de blog où vous trouverez des instructions étape par étape sur la façon d'installer une version de MySQL 8.0 sur une machine ou un serveur Linux. https://bdconraul.com/instalacion-mysql-8-0-linux/

YouTube
LinkedIn