Tutorial

Comment installer MySQL sur Ubuntu 20.04 [Démarrage rapide]

Published on May 13, 2020

Manager, Developer Education

Français
Comment installer MySQL sur Ubuntu 20.04 [Démarrage rapide]

Introduction

MySQL est un système de gestion de base de données open source, généralement installé dans le cadre de la populaire pile LAMP ((Linux, Apache, MySQL, PHP/Python/Perl). Il met en œuvre le modèle relationnel et utilise le langage de requête structuré (mieux connu sous le nom de SQL – Structured Query Language) pour gérer ses données.

Ce tutoriel de démarrage rapide explique comment installer la version 8 de MySQL sur un serveur Ubuntu 20.04.

Conditions préalables

Pour suivre ce tutoriel, vous aurez besoin de :

Étape 1 - Installation de MySQL

Pour installer MySQL, mettez d’abord à jour l’index des paquets de votre serveur si vous ne l’avez pas fait récemment :

  1. sudo apt update

Ensuite, installez le paquet mysql-server​​​ :

  1. sudo apt install mysql-server

Étape 2 – Configurer MySQL

Exécutez le script de sécurité inclus dans MySQL avec sudo:

  1. sudo mysql_secure_installation

Vous serez alors guidé à travers une série d’invites où vous pourrez apporter quelques modifications aux options de sécurité de votre installation MySQL. La première invite vous demandera si vous souhaitez configurer le Validate Password Plugin que vous pouvez utiliser pour tester la solidité de votre mot de passe MySQL.

Si vous choisissez de mettre en place le plugin Validate Password, le script vous demandera de choisir un niveau de validation du mot de passe, le plus faible étant 0 et le plus fort étant 2 :

Output
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

La prochaine étape consistera à entrer et à confirmer un mot de passe pour l’utilisateur root de MySQL :

Output
Please set the password for root here. New password: Re-enter new password:

Le script vous demandera alors si vous voulez continuer avec le mot de passe que vous venez de saisir ou si vous voulez en saisir un nouveau. Si vous êtes satisfait de votre mot de passe, entrez Y pour continuer le script :

Output
Estimated strength of the password: 100 Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y

À partir de là, vous pouvez appuyer sur Y puis sur ENTER pour accepter les valeurs par défaut pour toutes les questions suivantes.

Étape 3 - (Facultatif) Ajustement de l’authentification et des privilèges de l’utilisateur

Afin d’utiliser un mot de passe pour se connecter à MySQL en tant que root, vous devrez changer sa méthode d’authentification à partir du plugin d’authentification par défaut auth_socket à un autre comme caching_sha2_password ou mysql_native_password. Pour ce faire, ouvrez l’invite MySQL depuis votre terminal :

  1. sudo mysql

À partir de là, lancez un ALTER USER pour modifier le plugin d’authentification qu’il utilise et définir un nouveau mot de passe. Veillez à remplacer password par un mot de passe fort de votre choix, et souvenez-vous que cette commande modifiera le mot de passe root que vous avez défini à l’étape 2 :

  1. ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';

Note : caching_sha2_password est le plugin d’authentification préféré de MySQL car il offre un cryptage de mot de passe plus sûr que l’ancien, mais encore largement utilisé, mysql_native_password.

Cependant, de nombreuses applications PHP – phpMyAdmin, par exemple – ne fonctionnent pas de manière fiable avec caching_sha2_password. Si vous prévoyez d’utiliser cette base de données avec une application PHP, vous pouvez définir root pour vous authentifier avec mysql_native_password à la place :

  1. ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Exécutez ensuite FLUSH PRIVILEGES qui ordonne au serveur de recharger les tableaux de subventions et de mettre vos nouvelles modifications en vigueur :

  1. FLUSH PRIVILEGES;

Vérifiez à nouveau les méthodes d’authentification utilisées par chacun de vos utilisateurs pour confirmer que root ne s’authentifie plus à l’aide du plugin auth_socket :

  1. SELECT user,authentication_string,plugin,host FROM mysql.user;
Output
+------------------+------------------------------------------------------------------------+-----------------------+-----------+ | user | authentication_string | plugin | host | +------------------+------------------------------------------------------------------------+-----------------------+-----------+ | debian-sys-maint | $A$005$lS|M#3K #XslZ.xXUq.crEqTjMvhgOIX7B/zki5DeLA3JB9nh0KwENtwQ4 | caching_sha2_password | localhost | | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost | | mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost | | mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost | | root | *3636DACC8616D997782ADD0839F92C1571D6D78F | caching_sha2_password | localhost | +------------------+------------------------------------------------------------------------+-----------------------+-----------+ 5 rows in set (0.00 sec)

Une fois que vous avez confirmé cela sur votre propre serveur, vous pouvez quitter le shell MySQL :

  1. exit

Vous pouvez également vous connecter à MySQL avec un utilisateur dédié au lieu de root. Pour créer un tel utilisateur, ouvrez à nouveau le shell MySQL :

  1. sudo mysql

Note : Si vous avez activé l’authentification par mot de passe pour root, comme décrit dans les paragraphes précédents, vous devrez plutôt exécuter ce qui suit :

  1. mysql -u root -p

De là, créez un nouvel utilisateur et attribuez-lui un mot de passe fort :

  1. CREATE USER 'sammy'@'localhost' IDENTIFIED BY 'password';

Ensuite, accordez à votre nouvel utilisateur les privilèges appropriés. Par exemple, vous pourriez accorder les privilèges d’utilisateur à toutes les tables de la base de données, ainsi que le pouvoir d’ajouter, de modifier et de supprimer des privilèges d’utilisateur, avec cette commande :

  1. GRANT ALL PRIVILEGES ON *.* TO 'sammy'@'localhost' WITH GRANT OPTION;

Ensuite, vous pouvez quitter le shell MySQL :

  1. exit

Conclusion

Vous avez maintenant installé une configuration MySQL de base sur votre serveur. Voici quelques exemples des prochaines étapes que vous pouvez suivre :

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about our products

About the authors
Default avatar

Manager, Developer Education

Technical Writer @ DigitalOcean

Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Become a contributor for community

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

DigitalOcean Documentation

Full documentation for every DigitalOcean product.

Resources for startups and SMBs

The Wave has everything you need to know about building a business, from raising funding to marketing your product.

Get our newsletter

Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.

New accounts only. By submitting your email you agree to our Privacy Policy

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

*This promotional offer applies to new accounts only.