Modes de paiement Abuse

Corriger l'erreur SET PASSWORD n'a pas de signification pour l'utilisateur root@localhost

18.01.2023, 15:34

Parfois, lors de l'installation de MySQL, l'utilisateur ne définit pas le mot de passe root, et la méthode unix_socket est alors utilisée comme autorisation. Si cette autorisation est utilisée, seul un superutilisateur du système ou un utilisateur disposant des privilèges sudo sera en mesure de s'authentifier en tant qu'utilisateur root.

Lors de l'utilisation de mysql_secure_installation, une tentative de modification du mot de passe sera effectuée, auquel cas vous obtiendrez une erreur de mysql SET PASSWORD has no significance for user'root'@'localhost'. Nous allons vous expliquer comment résoudre et éliminer cette erreur.

Élimination de l'erreur

Le nom complet de l'erreur est le suivant :

SET PASSWORD has no significance for user 'root'@'localhost' as the authentication method used doesn't store authentication data in the MySQL server. Please consider using ALTER USER instead if you want to change authentication parameters.

L'erreur se traduit par :

"Il est inutile d'exécuter la méthode SET PASSWORD pour'root'@'localhost' car la méthode d'autorisation sélectionnée ne permet pas d'enregistrer les données d'autorisation. Si vous souhaitez modifier les paramètres d'autorisation, utilisez ALTER USER".

La méthode d'autorisation unix_socket n'enregistre pas les mots de passe, elle n'effectue pas d'autorisation par mot de passe, elle vérifie si un utilisateur particulier remplit les conditions de superutilisateur. Et il n'existe aucun moyen pour un utilisateur d'ignorer simplement la définition du mot de passe root (s'il n'a pas été défini). C'est pourquoi le logiciel ne vous permet pas de continuer. Vous pouvez résoudre le problème en vous connectant à MySQL.

Vous devez également modifier la méthode d'autorisation et le mot de passe en même temps :

sudo mysql

Dans l'environnement SQL, vous devez exécuter la commande suivante :

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

Fermez le client MySQL avec la commande :

exit;

Après avoir exécuté mysql_secure_installation, entrez le mot de passe root. Vous pouvez ensuite terminer la configuration sans problème. Veuillez noter qu'après cela, vous pourrez vous connecter à mysql en utilisant sudo sans mot de passe, car la méthode d'autorisation par mot de passe est activée. Pour revenir aux paramètres précédents après l'installation mysql_secure_installation, connectez-vous à MySQL.

Utilisez le mot de passe et exécutez :

ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;

L'instruction est terminée.