Exécutez d'abord cette commande :
sudo mysql
et ensuite vous devez vérifier quelle méthode d'authentification vos comptes utilisateurs MySQL utilisent, donc lancez cette commande
SELECT user,authentication_string,plugin,host FROM mysql.user;
maintenant vous pouvez voir quelque chose comme ça déjà :
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | | auth_socket | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
dans le tableau ci-dessus, vous pouvez voir que tous vos comptes d'utilisateurs mysql ont un statut et si vous avez défini un mot de passe pour le compte Root avant de voir mysql_native_password
dans la colonne des plugins à la place auth_socket
. Dans l'ensemble, pour changer votre mot de passe Root, vous devriez exécuter :
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Veillez à changer le mot de passe par un mot de passe fort de votre choix. Ensuite, pour recharger votre serveur afin de mettre en place vos nouveaux changements, exécutez cette commande ;
FLUSH PRIVILEGES;
Vérifiez donc à nouveau les méthodes d'authentification employées par votre mysql, par cette commande :
SELECT user,authentication_string,plugin,host FROM mysql.user;
et maintenant la sortie est :
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | *3636DACC8616D997782ADD0839F92C1571D6D78F | mysql_native_password | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
comme vous pouvez le voir dans le tableau des subventions, votre compte Root a mysql_native_password
. Vous pouvez maintenant quitter le shell MYSQL
exit;
C'est tout. Vous devez juste redémarrer mysql en sudo service mysql restart
. Maintenant, vous pouvez vous connecter à mysql comme un compte Root avec votre mot de passe facilement.