Comment installer Mysql dans ubuntu 20.04 lts – tutoriel

Un guide pour installer MySql dans ubuntu 20.04 LTS avec des astuces et quelques solutions pour régler certains problèmes d’installation.

De nombreuses applications et systèmes ont pour fonctionnalité de lire, modifier ajouter et supprimer les données.

Ces dernières se comportent comme le sang qui coule dans les veines d’un organisme.

Sans les données, il est difficile pour un programme d’améliorer notre quotidien.

Avant de les utiliser, il est important pour un logiciel de stocker nos données de manière organisée et structurée afin de pouvoir le récupérer plus facilement pour nos besoins.

Pour effectuer ces actions , on a besoins d’un type de système spécialisé qu’on appelle système de gestion de base de données ( SGBD )ou encore gestionnaire de base de données.

Dans cet article on va apprendre comment installer un des logiciels de gestion de base de données que j’aime utiliser pour démarrer le développement d’un projet.

Il s’agit de MySql.

Comment installer Mysql dans ubuntu 20.04 lts - tutoriel

Comment installer Mysql dans ubuntu 20.04 lts

L’installation du gestionnaire de base de données Mysql est très simple sur linux.

La difficulté que j’ai rencontrée et qui m’a poussée à écrire ce mini tutoriel se trouve au niveau de la configuration du système.

L’installation c’est facile, mais la configuration est délicate.

Commençons par le point le plus facile qui est de savoir comment installer mysql .

Installation de MySQL

L’installation se déroule comme tout autre logiciel dans ubuntu. Dans le script qui va suivre nous allons installer mysql-server après avoir mise à jour notre gestionnaire de paquets :

sudo apt update
sudo apt install mysql-server

L’installation de notre base de données se terminent ici. Les actions les plus délicates se déroulement dans le point qui suit.



Comment configurer Mysql dans ubuntu

Après avoir appris comment installer mysql dans ubuntu, il est maintenant temps d’aborder la partie la plus délicate de ce tutoriel. Il s’agit de la configuration de votre base de données.

La configuration de mysql se déroule par l’exécution d’une commande précise. Tout va se passer dans le terminal en une seule commande. Lancez la commande :

sudo mysql_secure_installation

1- Création du mot de passe administrateur

A son lancement une série de questionnaire vous sera posé pour configurer votre serveur de base de données mysql. Le plus important est la configuration du mot de passe de votre compte root. Votre terminal devrait ressembler à ceci :

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: Y

There are three levels of password validation policy:

LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:
2

Avant de créer son mot de passe vous devrez choisir une police de validation du mot de passe. Suivant vos besoins il est recommandé de choisir la dernière police ( c’est à dire le 2 ) si vous voulez vous servir de Mysql en production.

Une fois votre choix validé vous devrez créer votre mot de passe administrateur pour le gestionnaire de base de données. Vous devrez voir le contenu suivant dans votre terminal :

Please set the password for root here.


New password:

Re-enter new password:

Après création du mot de passe nous allons passer à la section suivante qui est celui de la création de compte utilisateur.

2- Création d’un compte utilisateur

J’aime créer des comptes d’accès à la base de données pour chaque projet d’applications et de site web que j’aborde. C’est aussi une pratique recommandé pour des raisons de sécurité.

On peut se servir de compte administrateur mysql pour connecter nos applications à leurs base de données.

Le problème est que le compte administrateur a toutes les privilèges sur toutes les bases de données présente et future. Cette configuration en production créée une faille très dangereuse pour le système de gestion de base de données.

a – Pourquoi il ne faut pas utiliser un compte administrateur

Si une des applications utilisant l’accès administrateur est attaquée par un pirate informatique, ce dernier pourrait avoir le contrôle à toutes les bases de données des autres applications et services.

Il sera même capable de changer le mot de passe administrateur du gestionnaire de base de données Mysql.

C’est à ce point qu’il est important de créer un compte utilisateur pour chaque base de données d’une application ou service numérique.

b – Création d’un compte utilisateur

Pour commencer exécuter les commandes suivantes dans le terminal :

sudo mysql

Pour créer un compte utilisateur il suffit d’utiliser le template de la commande suivant :

mysql > CREATE USER 'username'@'host' IDENTIFIED BY 'password';

Par exemple en utilisant le nom de compte “test” et le mot de passe “test@pass” on peut exécuter la commande suivante pour créer un compte.

mysql >CREATE USER 'test'@'localhost' IDENTIFIED BY 'test@pass';

Ce n’est pas fini, il faut accorder des privilèges appropriés au compte qu’on vient de créer. Généralement j’accorde toutes les privilèges sur une seule base de données sans la capacité de créer un autre compte utilisateur.

De cette manière , ce compte n’aura que le contrôle à la base de données qui lui est associé.

Le template d’accord de privilège avec Mysql est :

mysql > GRANT PRIVILEGE ON database.table TO 'username'@'host';

Généralement on accorde plusieurs privilèges au lieu d’une seule suivant les besoins. Dans notre cas on peut appliquer l’exemple suivante :

mysql > GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES, RELOAD on BASE_DE_DONNEES TO 'test'@'localhost' WITH GRANT OPTION;

Nous avons dans cet exemple accordé les privilèges ” CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES, RELOAD ” sur la base de données  ” BASE_DE_DONNEES ” au compte ” test@localhost ”  . 

Nous avons donné aussi la possibilité à ce compte d’accorder ses privilèges à des sous comptes.

Les autres options de privilèges peuvent être trouvé sur le site de mysql.

3 – Connexion et test

Maintenant qu’on a fini avec la configuration du compte administrateur et la création d’un compte test, on va maintenant tester la connexion à la base de données mysql. Pour commencer on va sortir de la commande Mysql cli.

mysql> FLUSH PRIVILEGES ;


mysql> exit;

Maintenant on va tenter de se connecter à notre compte test :

mysql -u test -p

Le mot de passe à taper si vous avez utiliser nos commandes exemples devraient être test@pass .

Le test peut échouer avec une erreur de type mbind : Operation not permitted – mysql . N’hésitez pas à suivre le lien pour comprendre et résoudre le problème.




Comment installer Mysql dans Docker

Dans ce tutoriel nous allons découvrir le logiciel kitematic et comment on l'installe sur ubuntu 20.04.

Ces dernières sections peuvent paraître vague mais je promet de le mettre à jour si besoins.

Pour développer des applications on a tendance à installer de nombreuses outils et prérequis au fil du temps.

L’ordinateur de travail ou le portable devient surcharger d’outils qu’on a utilisés et oubliés de désinstaller.

On fini avec un ordinateur surchargé au démarrage ( même sous linux ) avec plein de protocole et de port occupé inutilement.

Pour résoudre ce type de problème j’ai récemment décidé d’adopter un type de logiciel de virtualisation qui me résous très bien le problème cité plus haut jusqu’à maintenant.

Il s’agit d’un système de virtualisation logiciel qui est Docker.

Avec docker on peut facilement installer MySql sans passer par toutes les configurations citées plus haut . On a juste besoins de télécharger l’image officielle Mysql et de le démarrer dans notre container.

Ceci fera l’objet d’une section à part entière mais pour le moment je fais une petite pause.

Installation des clients MySql – Optionnel

Maintenant que vous avez pu installer votre SGBD MySQL, votre travail n’est probablement pas encore terminé.

Vous allez constater que beaucoup de travail de création de tables, de schema ou d’exécution de requête se fera par des commandes dans votre terminal. Avec le temps, ça peut vite devenir fastidieux.

Pour avoir une vue plus large sur les contenus de votre système de gestion de base de données, il est important d’installer un type d’application qu’on appelle en jargon informatique, des clients.

Ces clients vous permettrons d’aller droit au but dans la gestion de base de données en vous économisant de nombreux étapes de frappe de commande pour obtenir des informations sur vos bases .

j’utilise comme client préférée l’application web phpmyadmin et mysql workbench comme logiciel lourd .

Conclusion

Cet article est un guide en devenir pour apprendre comment  installer Mysql dans un système linux comme ubuntu.

Bien que ce tutoriel contient de nombreux détails venant de mon expérience personnel avec ce système , vous pourrez rencontrer des problèmes d’installation que j’ignorent.

Comment installer Mysql dans ubuntu 20.04 lts - tutoriel
Image par DANIEL DIAZ de Pixabay