Modification du mot de passe d’utilisateur MySQL : commandes ALTER USER (MySQL 5.7 / 8.0) + récupération du compte root

目次

1. [Quick Answer] Liste des commandes de changement de mot de passe d’utilisateur MySQL (solution la plus rapide)

La commande de base pour changer le mot de passe d’un utilisateur dans MySQL est ALTER USER.
Cette méthode est recommandée à partir de MySQL 5.7 et ultérieur, et elle est utilisée de la même façon dans MySQL 8.0.

1.1 Syntaxe de base (la plus couramment utilisée)

ALTER USER 'username'@'localhost' IDENTIFIED BY 'newpassword';
  • username : le nom d’utilisateur cible à mettre à jour
  • localhost : l’hôte client (un compte MySQL est identifié par « nom d’utilisateur + hôte »)
  • newpassword : le nouveau mot de passe

Après exécution, le changement prend effet immédiatement. Dans la plupart des cas, FLUSH PRIVILEGES; n’est pas nécessaire (ALTER USER met automatiquement à jour les tables de privilèges).

Pièges courants

  • Même avec le même nom d’utilisateur, @'localhost' et @'%' sont considérés comme des comptes différents
  • Les symboles dans les mots de passe doivent être entourés de guillemets simples

1.2 Modification d’un utilisateur d’accès distant (%)

ALTER USER 'username'@'%' IDENTIFIED BY 'newpassword';

% signifie « n’importe quel hôte ».
Il est couramment utilisé dans les environnements cloud ou pour les utilisateurs autorisés à se connecter depuis l’extérieur.

Remarques

  • Il est plus sûr de vérifier à l’avance avec SELECT User, Host FROM mysql.user;
  • Si vous changez le mot de passe pour le mauvais hôte, vous ne pourrez pas vous connecter

1.3 Changer le mot de passe en spécifiant le plugin d’authentification (important en 8.0)

Dans MySQL 8.0, le plugin d’authentification par défaut est caching_sha2_password.
Si vous ne pouvez pas vous connecter avec d’anciens clients, définissez explicitement le plugin.

ALTER USER 'username'@'localhost'
IDENTIFIED WITH mysql_native_password
BY 'newpassword';
  • mysql_native_password : méthode héritée (privilégie la compatibilité)
  • caching_sha2_password : standard MySQL 8.0 (recommandé)

Erreurs typiques

  • Les anciennes versions de PHP ou les clients peuvent ne pas prendre en charge le plugin par défaut de MySQL 8.0
  • Décider « je ne peux pas me connecter » sans vérifier le plugin d’authentification

1.4 Si vous obtenez une erreur de privilège

Exemple d’erreur :

ERROR 1227 (42000): Access denied; you need (at least one of) the SYSTEM_USER privilege(s)

Dans ce cas, l’utilisateur actuellement connecté n’a pas la permission d’effectuer le changement.

Vérifiez :

SHOW GRANTS FOR CURRENT_USER();

Exécutez la commande en tant que root ou en tant qu’utilisateur disposant de privilèges suffisants.

1.5 Comment vérifier après modification

SELECT User, Host, plugin FROM mysql.user WHERE User='username';
  • Vérifiez le plugin d’authentification via la colonne plugin
  • La vérification la plus fiable consiste à se connecter réellement et à confirmer la connectivité

1.6 Que se passe-t-il avec les sessions existantes

Après avoir changé un mot de passe :

  • Les nouvelles connexions doivent utiliser le nouveau mot de passe
  • Les sessions existantes peuvent être terminées immédiatement selon l’environnement
  • En production, il est recommandé d’effectuer les changements en dehors des heures de travail

2. Bases des utilisateurs et hôtes MySQL (prévenir les problèmes courants « bloqués »)

Dans MySQL, un utilisateur n’est pas identifié uniquement par un « nom d’utilisateur ». Au lieu de cela, il est identifié par la combinaison de « nom d’utilisateur + hôte client (Host) ».
Si vous ne comprenez pas cela, vous pouvez rencontrer le problème classique : « J’ai changé le mot de passe mais je ne peux toujours pas me connecter. »

2.1 Un utilisateur est une paire « user@host »

Exemples :

  • 'appuser'@'localhost'
  • 'appuser'@'%'
  • 'appuser'@'192.168.1.%'

Ce sont tous traités comme des comptes différents.
Ainsi, même si vous changez le mot de passe pour localhost, cela n’affecte pas le compte %.

Commande de vérification :

SELECT User, Host FROM mysql.user ORDER BY User, Host;

Pièges courants

  • Ne pas réaliser qu’il existe plusieurs comptes avec le même nom d’utilisateur
  • Vous avez changé le mot de passe pour localhost, mais vous vous connectez en réalité via TCP (127.0.0.1)

2.2 localhost et 127.0.0.1 sont traités différemment

Dans MySQL :

  • localhost → connexion via socket UNIX (connexion interne locale)
  • 127.0.0.1 → connexion TCP/IP

Selon l’environnement, un compte différent peut correspondre.

Vérifiez :

mysql -u username -p -h 127.0.0.1

If you can’t log in with the above, the @'127.0.0.1' account may not exist.

2.3 Vérifier l’utilisateur actuellement authentifié

Il est important de comprendre « quel compte vous êtes authentifié ».

SELECT CURRENT_USER();

Cela affiche le « user@host » qui a réellement été authentifié.

SELECT USER(); montre les informations de la requête de connexion, il se peut donc qu’elles ne correspondent pas.

2.4 Vérifier les privilèges (SHOW GRANTS)

Si vous ne pouvez pas changer un mot de passe, des privilèges insuffisants peuvent être la cause.

SHOW GRANTS FOR 'username'@'host';

Ou pour l’utilisateur actuellement connecté :

SHOW GRANTS FOR CURRENT_USER();

Privilèges minimum requis

  • ALTER USER
  • Ou SYSTEM_USER (MySQL 8.0 et versions ultérieures)

2.5 Modèles d’échec typiques

  1. Vous avez changé le mot de passe pour le mauvais hôte
  2. Le plugin d’authentification diffère (très courant en 8.0)
  3. Le compte cible n’existe pas du tout

Vérifiez si l’utilisateur existe :

SELECT User, Host FROM mysql.user WHERE User='username';

Une fois que vous comprenez ce modèle, vous pouvez éviter la plupart des problèmes liés au changement de mot de passe.

3. Procédure recommandée : changer en toute sécurité avec ALTER USER (fonctionne pour MySQL 8.0 / 5.7)

Dans MySQL 5.7 et versions ultérieures, changer les mots de passe avec ALTER USER est la méthode standard et recommandée.
Les mises à jour directes comme UPDATE mysql.user peuvent se comporter différemment selon la version et comporter des risques de compatibilité future, il vaut donc mieux les éviter.

3.1 Vérifications préalables (confirmer toujours avant de changer)

Avant de changer un mot de passe, confirmez ces trois points.

① Confirmer l’utilisateur cible et l’hôte

SELECT User, Host FROM mysql.user WHERE User='username';
  • Vérifier si plusieurs comptes existent avec le même nom d’utilisateur
  • Ne pas confondre localhost avec %

② Confirmer le plugin d’authentification actuel (important en 8.0)

SELECT User, Host, plugin
FROM mysql.user
WHERE User='username';
  • caching_sha2_password (standard MySQL 8.0)
  • mysql_native_password (plugin hérité)

Certaines erreurs de connexion sont causées par le plugin d’authentification.

③ Confirmer l’utilisateur actuellement authentifié

SELECT CURRENT_USER();

Pour éviter les erreurs de privilèges, exécutez les commandes en tant que root ou en tant qu’utilisateur disposant des privilèges appropriés.

3.2 Exécuter ALTER USER (forme standard)

ALTER USER 'username'@'localhost'
IDENTIFIED BY 'NewStrongPassword123!';

Le changement prend effet immédiatement.
Dans la plupart des cas, FLUSH PRIVILEGES; n’est pas nécessaire.

Remarques

  • Si la politique de mot de passe (validate_password) est violée, ERROR 1819 peut survenir
  • Si le mot de passe comprend des caractères spéciaux, entourez‑le toujours de guillemets simples

3.3 Changer en spécifiant le plugin d’authentification (uniquement si nécessaire)

Si vous utilisez d’anciens clients dans un environnement MySQL 8.0 :

ALTER USER 'username'@'localhost'
IDENTIFIED WITH mysql_native_password
BY 'NewStrongPassword123!';

Cas où vous devez le changer :

  • Impossible de se connecter avec d’anciens clients PHP / MySQL
  • Un environnement qui ne supporte pas caching_sha2_password

Cas où vous ne devez PAS le changer :

  • Si vous pouvez déjà vous connecter sans problème dans un environnement moderne (le plugin standard est plus sûr)

3.4 Vérification après changement

① Vérifier le plugin d’authentification

SELECT User, Host, plugin
FROM mysql.user
WHERE User='username';

② Vérifier en se connectant réellement

mysql -u username -p

Testez toujours que vous pouvez vous connecter.

3.5 Impact sur les sessions existantes

Après avoir changé un mot de passe :

  • Nouvelles connexions → doivent utiliser le nouveau mot de passe
  • Connexions existantes → peuvent rester actives selon l’environnement
  • Production → le redémarrage des connexions de l’application peut être nécessaire

Erreurs courantes

  • Ne pas mettre à jour les identifiants de connexion de l’application
  • Ancien mots de passe restant dans les fichiers de configuration

3.6 Conseils opérationnels sûrs pour la production

  • Effectuez les modifications en dehors des heures d’ouverture
  • Vérifiez les fichiers de configuration de l’application à l’avance
  • Effectuez le travail sans déconnecter votre session SSH
  • Lors du changement de root, assurez-vous d’avoir une méthode de récupération prête

4. Différences entre MySQL 8.0 et 5.7

La principale cause de problèmes lors du changement des mots de passe MySQL est la différence dans les méthodes d’authentification entre MySQL 8.0 et 5.7.
En particulier, de nombreux cas de « Je l’ai changé mais je ne peux pas me connecter » sont causés par des différences dans le plugin d’authentification.

Diagram showing the difference between MySQL 5.7 mysql_native_password and MySQL 8.0 caching_sha2_password authentication methods

Différence d’authentification entre MySQL 5.7 et MySQL 8.0

4.1 Différences dans les plugins d’authentification par défaut

VersionDefault authentication plugin
MySQL 5.7mysql_native_password
MySQL 8.0caching_sha2_password

En MySQL 8.0, caching_sha2_password est devenu la norme pour une sécurité renforcée.
Cependant, les clients plus anciens (versions plus anciennes de PHP, connecteurs MySQL plus anciens, etc.) pourraient ne pas le supporter.

Comment vérifier :

SELECT User, Host, plugin
FROM mysql.user
WHERE User='username';

Problèmes courants

  • Les anciens clients ne peuvent pas se connecter aux utilisateurs créés sur MySQL 8.0
  • Même si une erreur se produit, vous ne réalisez pas que la cause principale est le plugin d’authentification

4.2 Comment changer le plugin d’authentification pour la compatibilité

Seulement lorsque vous devez vous connecter depuis un environnement plus ancien, changez-le comme ceci :

ALTER USER 'username'@'localhost'
IDENTIFIED WITH mysql_native_password
BY 'NewStrongPassword123!';

Après l’avoir changé, exécutez toujours un test de connexion.

Notes

  • D’un point de vue sécurité, caching_sha2_password est plus sûr
  • Ne passez pas au plugin legacy inutilement
  • Si possible, mettre à jour le côté client est préférable

4.3 La mise à jour directe n’est pas recommandée

En MySQL 5.7 et antérieur, des méthodes comme la suivante étaient utilisées :

UPDATE mysql.user
SET authentication_string=PASSWORD('newpassword')
WHERE User='username';
FLUSH PRIVILEGES;

Cependant, cette approche est :

  • Très dépendante de la version
  • Soumise aux changements de spécification en 8.0
  • Susceptible d’être dépréciée à l’avenir

Règle générale : utilisez ALTER USER

4.4 Différences de comportement du plugin validate_password

En MySQL 5.7 et 8.0, les fonctionnalités de politique de mot de passe (vérification de la force) sont disponibles par défaut.

Vérifiez :

SHOW VARIABLES LIKE 'validate_password%';

Si vous violez la politique, vous pourriez obtenir :

ERROR 1819 (HY000)

.

Parce que de nombreux environnements 8.0 appliquent des bases de sécurité plus strictes,
après la mise à niveau depuis 5.7, vous pourriez découvrir que les changements de mot de passe ne passent plus en raison d’exigences de politique plus fortes.

4.5 Comment vérifier votre version

Si vous n’êtes pas sûr de la version que vous exécutez :

SELECT VERSION();

Si vous appliquez des correctifs sans confirmer la version, vous pourriez finir par utiliser la mauvaise méthode

5. Récupération d’un mot de passe root oublié (Procédure axée sur la sécurité)

Si vous oubliez le mot de passe de l’utilisateur MySQL root (administrateur), vous ne pouvez pas vous connecter normalement.
Dans ce cas, vous devez désactiver temporairement les tables de privilèges et réinitialiser le mot de passe. Cependant, cette procédure comporte des risques de sécurité, suivez donc les étapes avec soin.

5.1 Confirmez si vous avez vraiment besoin du mot de passe root

D’abord, vérifiez ce qui suit :

  • Si vous avez des privilèges sudo au niveau du système d’exploitation
  • Si l’authentification auth_socket est activée (courant sur les systèmes basés sur Ubuntu)

Exemple de vérification :

SELECT User, Host, plugin
FROM mysql.user
WHERE User='root';

Si le plugin est auth_socket, vous pourriez pouvoir vous connecter en tant qu’utilisateur root du système d’exploitation.

sudo mysql

Si cela fonctionne, vous n’avez besoin que de réinitialiser le mot de passe.

5.2 Flux de récupération (procédure générale)

① Arrêter le serveur MySQL

sudo systemctl stop mysql

② Démarrer avec les tables de privilèges désactivées

sudo mysqld_safe --skip-grant-tables &

--skip-grant-tables désactive l’authentification.
Dans cet état, n’importe qui peut se connecter, complétez donc la procédure rapidement.

③ Se connecter à MySQL

mysql -u root

Vous pouvez vous connecter sans mot de passe.

④ Réinitialiser le mot de passe root (méthode recommandée)

ALTER USER 'root'@'localhost'
IDENTIFIED BY 'NewStrongPassword123!';

Important

  • NE PAS utiliser directement UPDATE mysql.user
  • Utilisez ALTER USER (pour la compatibilité des versions)

⑤ Réactiver les tables de privilèges

FLUSH PRIVILEGES;

⑥ Redémarrer MySQL en mode normal

sudo systemctl restart mysql

Ensuite, vérifiez la connexion normale :

mysql -u root -p

5.3 Erreurs courantes

  • Laisser --skip-grant-tables activé (risque de sécurité sérieux)
  • Modifier accidentellement l’hôte root
  • Modifier le plugin d’authentification de manière incorrecte et se bloquer hors du système

5.4 Notes pour les environnements de production

  • Effectuez toujours cela pendant une fenêtre de maintenance sur les serveurs publics
  • Gardez votre session SSH active pendant le travail
  • Créez une sauvegarde à l’avance si possible

La récupération du mot de passe root peut être effectuée en toute sécurité si elle est exécutée avec précaution.

6. Erreurs courantes et solutions (Capture du trafic par message d’erreur)

Plusieurs erreurs typiques surviennent lors du changement des mots de passe MySQL.
Ci-dessous, nous organisons les causes courantes et les solutions par codes d’erreur fréquemment recherchés.

6.1 ERREUR 1819 (Le mot de passe ne respecte pas les exigences de la politique)

Exemple d’erreur :

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

Cause

Le mot de passe n’a pas passé la validation de force imposée par le plugin validate_password.

Vérifier la politique actuelle

SHOW VARIABLES LIKE 'validate_password%';

Paramètres importants :

  • validate_password.length
  • validate_password.policy
  • validate_password.mixed_case_count
  • validate_password.number_count
  • validate_password.special_char_count

Solution ① (Recommandée) : Utiliser un mot de passe plus fort

  • Au moins 12 caractères
  • Inclure des majuscules, minuscules, chiffres et symboles
  • Éviter les mots du dictionnaire

Solution ② (Assouplir temporairement la politique)

SET GLOBAL validate_password.policy = LOW;

Après avoir terminé votre tâche, il est recommandé de restaurer le paramètre d’origine.

Erreurs courantes

  • Laisser la politique assouplie en production
  • Oublier que la modification de ce paramètre nécessite les privilèges SUPER

6.2 ERREUR 1227 (Privilèges insuffisants)

Exemple d’erreur :

ERROR 1227 (42000): Access denied; you need (at least one of) the SYSTEM_USER privilege(s)

Cause

L’utilisateur actuel ne possède pas le privilège ALTER USER ou SYSTEM_USER.

Vérifier les privilèges

SHOW GRANTS FOR CURRENT_USER();

Solution

Exécutez la commande en tant que root ou en tant qu’utilisateur disposant de privilèges suffisants.

Si nécessaire :

GRANT ALTER USER ON *.* TO 'username'@'host';
FLUSH PRIVILEGES;

Note

  • Dans MySQL 8.0, le privilège SYSTEM_USER peut également être requis
  • Suivez le principe du moindre privilège en production

6.3 Impossible de se connecter après avoir changé le mot de passe

Causes principales

  1. Hôte incorrect
  2. Incohérence du plugin d’authentification
  3. Incompatibilité du client
  4. Configuration de l’application non mise à jour

① Vérifier l’hôte

SELECT User, Host FROM mysql.user WHERE User='username';

② Vérifier le plugin d’authentification

SELECT plugin FROM mysql.user WHERE User='username';

③ Modifier le plugin d’authentification (si nécessaire)

ALTER USER 'username'@'localhost'
IDENTIFIED WITH mysql_native_password
BY 'NewStrongPassword123!';

④ Vérifier la configuration de l’application

  • .env
  • config.php
  • Chaîne de connexion (DSN)

Erreurs courantes

  • Modifier MySQL sans mettre à jour l’application
  • Ne pas redémarrer les conteneurs dans les environnements Docker

6.4 Toujours capable de se connecter avec l’ancien mot de passe après le changement

Normalement, les modifications effectuées avec ALTER USER prennent effet immédiatement.

Causes possibles :

  • Vous avez en fait modifié un compte d’hôte différent
  • La connexion pointe vers un autre serveur (réplique)
  • Mise en cache de session

Vérifiez :

SELECT CURRENT_USER();

Il est crucial de confirmer avec précision à la fois le serveur connecté et l’utilisateur authentifié.

7. Opérations de sécurité : politiques de mot de passe et meilleures pratiques

Changer un mot de passe n’est pas une tâche ponctuelle.
Dans les opérations réelles, vous maintenez la sécurité en combinant l’application de la robustesse, la conception des privilèges et les règles opérationnelles.

7.1 Utilisation du plugin validate_password

MySQL fournit une fonctionnalité intégrée pour appliquer la robustesse des mots de passe.

Vérifier les paramètres actuels

SHOW VARIABLES LIKE 'validate_password%';

Principaux paramètres de configuration

  • validate_password.length (longueur minimale)
  • validate_password.policy (FAIBLE / MOYEN / FORT)
  • validate_password.mixed_case_count
  • validate_password.number_count
  • validate_password.special_char_count

Exemple de configuration (minimum 12 caractères, politique MOYEN)

SET GLOBAL validate_password.length = 12;
SET GLOBAL validate_password.policy = MEDIUM;

Remarque

  • Les changements GLOBALS peuvent être réinitialisés après un redémarrage
  • Pour rendre les paramètres persistants, configurez‑les dans le fichier de configuration ( my.cnf / my.ini )

7.2 Exigences minimales pour des mots de passe forts

Normes recommandées en pratique :

  • Au moins 12 caractères
  • Inclure des majuscules, minuscules, chiffres et symboles
  • Éviter les mots du dictionnaire
  • Ne pas réutiliser sur d’autres services

Exemple :

X9v!pQ4z#Lm2

Exemples à éviter

password123
mysql2025
companyname!

7.3 Plus important que les changements périodiques

Plus important que « changer tous les six mois » est de concevoir en partant de l’hypothèse d’une fuite potentielle d’identifiants.

① Séparer les utilisateurs d’application

  • Ne pas utiliser root dans les applications
  • Créer des utilisateurs avec le moindre privilège

Exemple :

GRANT SELECT, INSERT, UPDATE ON dbname.* TO 'appuser'@'localhost';

② Minimiser les privilèges (Principe du moindre privilège)

Autoriser uniquement les opérations nécessaires pour limiter les dommages potentiels.

③ Utiliser l’audit et les journaux

Exemple de vérification de journal :

tail -f /var/log/mysql/mysql.log

MySQL Enterprise prend également en charge les plugins d’audit.

7.4 Conseils opérationnels pour les environnements de production

  • Tester en préproduction avant d’apporter des modifications en production
  • Suivre l’historique des changements (Git ou documentation)
  • Toujours exécuter un test de connexion après les modifications
  • Garder votre session SSH active pendant le travail

7.5 Choses que vous ne devez jamais faire

  • Utiliser le compte root dans les applications
  • Codifier en dur les mots de passe dans le code source
  • Désactiver validate_password et le laisser ainsi
  • Laisser le serveur fonctionner avec --skip-grant-tables

La gestion des mots de passe n’est pas une tâche ponctuelle mais fait partie d’une conception opérationnelle continue.

8. FAQ (Foire aux questions)

8.1 Q. Que se passe-t-il pour les sessions actives après le changement d’un mot de passe ?

R. En principe, les nouvelles connexions nécessitent le nouveau mot de passe.
Pour les sessions existantes, elles peuvent être terminées immédiatement ou rester actives selon l’environnement et la configuration.

En pratique :

  • Effectuer les changements en dehors des heures ouvrées en production
  • Redémarrer l’application pour rafraîchir les connexions

est recommandé.

8.2 Q. J’ai changé le mot de passe mais je ne peux toujours pas me connecter

Les trois causes les plus courantes sont :

  1. Hôte incorrect ( localhost vs % , etc.)
  2. Incohérence du plugin d’authentification (très courant en 8.0)
  3. Configuration de l’application non mise à jour

Vérifier avec :

SELECT User, Host, plugin
FROM mysql.user
WHERE User='username';

Faire particulièrement attention à la colonne plugin.

8.3 Q. Puis‑je autoriser uniquement un utilisateur spécifique à changer les mots de passe ?

Oui.

GRANT ALTER USER ON *.* TO 'username'@'host';
FLUSH PRIVILEGES;

Dans MySQL 8.0, le privilège SYSTEM_USER peut également être requis.

SHOW GRANTS FOR 'username'@'host';

Utilisez ceci pour vérifier les privilèges.

8.4 Q. La méthode est‑elle la même dans MariaDB ?

En gros, ALTER USER est disponible, mais :

  • Plugins d’authentification
  • Comportement de la politique de mot de passe
  • Différences spécifiques à la version

peuvent différer selon l’environnement.

Vérifier avec :

SELECT VERSION();

MySQL Community Edition ne fournit pas de suivi d’historique des mots de passe intégré par défaut.

8.5 Q. Puis-je vérifier l’historique des changements de mot de passe ?

Approches possibles :

  • Activer la journalisation d’audit
  • Utiliser une gestion de logs externe
  • Suivre l’historique dans la documentation opérationnelle

Exemple :

tail -f /var/log/mysql/mysql.log

8.6 Q. Puis-je récupérer les utilisateurs non-root avec –skip-grant-tables ?

Oui, mais cela crée un état très dangereux.
Revenez toujours en mode normal immédiatement après avoir terminé la procédure.

9. Résumé

Changer un mot de passe MySQL peut sembler simple, mais sans comprendre le modèle user@host, les plugins d’authentification et la conception des privilèges, cela peut facilement entraîner des problèmes.

Les points clés de cet article sont :

9.1 Utiliser ALTER USER comme méthode standard

ALTER USER 'username'@'localhost'
IDENTIFIED BY 'NewStrongPassword123!';
  • Méthode standard dans MySQL 5.7 et versions ultérieures
  • L’exécution directe de UPDATE mysql.user n’est pas recommandée
  • FLUSH PRIVILEGES est généralement inutile

9.2 Les utilisateurs sont gérés sous la forme « user@host »

  • localhost et % sont des comptes différents
  • Plusieurs comptes avec le même nom d’utilisateur peuvent exister
  • Vérifiez avec SELECT User, Host FROM mysql.user;

9.3 Faites attention aux plugins d’authentification en 8.0

  • Valeur par défaut en 8.0 : caching_sha2_password
  • Compatibilité héritée : mysql_native_password
  • Si vous ne pouvez pas vous connecter, vérifiez la colonne plugin
    SELECT plugin FROM mysql.user WHERE User='username';
    

9.4 Soyez prudent lors de la récupération du mot de passe root

  • --skip-grant-tables n’est qu’une mesure temporaire
  • Revenez toujours en mode normal après avoir terminé
  • Effectuez cela pendant une fenêtre de maintenance en production

9.5 La plupart des erreurs ont des causes claires

  • ERROR 1819 → Violation de la politique de mot de passe
  • ERROR 1227 → Privilèges insuffisants
  • Impossible de se connecter → Incohérence d’hôte ou de plugin d’authentification

9.6 En pratique, le principe du moindre privilège et la conception opérationnelle sont les plus importants

  • N’utilisez pas root dans les applications
  • Créez des utilisateurs dédiés
  • Appliquez des politiques de mots de passe fortes
  • Testez toujours les connexions après les modifications

La gestion des mots de passe MySQL ne consiste pas seulement à changer une valeur — c’est la base d’opérations de base de données sécurisées.
Choisissez la méthode appropriée pour votre environnement et exécutez‑la avec soin.