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.
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.