Au début, exécutez cette commande:
sudo mysql
et ensuite vous devriez vérifier quelle méthode d'authentification de vos comptes d'utilisateurs MySQL utilise. Alors exécutez cette commande
SELECT user,authentication_string,plugin,host FROM mysql.user;
maintenant vous pouvez déjà voir quelque chose comme ça:
+------------------+-------------------------------------------+-----------------------+-----------+
| 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 l'état de tous vos comptes d'utilisateurs mysql et si vous avez défini un mot de passe pour le compte root avant de le voir mysql_native_password
dans la colonne du plugin à la place auth_socket
. Dans l'ensemble, pour changer votre mot de passe root, vous devez exécuter:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Assurez-vous de remplacer le mot de passe par un mot de passe fort de votre choix. Ensuite, pour recharger votre serveur afin de mettre vos nouvelles modifications en vigueur, exécutez ceci;
FLUSH PRIVILEGES;
Vérifiez donc à nouveau les méthodes d'authentification utilisé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 de votre compte root mysql_native_password
. maintenant vous pouvez quitter le shell MYSQL
exit;
Voilà, il vous suffit de redémarrer mysql en sudo service mysql restart
. Vous pouvez maintenant vous connecter facilement à mysql en tant que compte root avec votre mot de passe.