pour ce genre d'erreur ; il vous suffit de définir un nouveau mot de passe pour l'utilisateur root en tant qu'administrateur. suivez les étapes comme suit :
[root ~]# mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:NO)
-
Arrêtez le service/démon de mysql en cours d'exécution
[root ~]# service mysql stop mysql stop/waiting
-
Démarrez mysql sans aucun privilège en utilisant l'option suivante :cette option est utilisée pour démarrer et n'utilise pas le système de privilèges de MySQL.
[root ~]# mysqld_safe --skip-grant-tables &
À ce moment, le terminal semblera s'arrêter . Laissez-le être et utilisez un nouveau terminal pour les prochaines étapes.
-
entrez l'invite de commande mysql
[root ~]# mysql -u root mysql>
-
Corrigez le paramètre d'autorisation de l'utilisateur root ;
mysql> use mysql; Database changed mysql> select * from user; Empty set (0.00 sec) mysql> truncate table user; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.01 sec) mysql> grant all privileges on *.* to [email protected] identified by 'YourNewPassword' with grant option; Query OK, 0 rows affected (0.01 sec)
*si vous ne voulez pas de mot de passe ou plutôt un mot de passe vide
mysql> grant all privileges on *.* to [email protected] identified by '' with grant option;
Query OK, 0 rows affected (0.01 sec)*
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
Confirmez les résultats :
mysql> select host, user from user;
+-----------+------+
| host | user |
+-----------+------+
| localhost | root |
+-----------+------+
1 row in set (0.00 sec)
-
Quittez le shell et redémarrez mysql en mode normal.
mysql> quit; [root ~]# kill -KILL [PID of mysqld_safe] [root ~]# kill -KILL [PID of mysqld] [root ~]# service mysql start
-
Vous pouvez maintenant vous connecter avec succès en tant qu'utilisateur root avec le mot de passe que vous avez défini
[root ~]# mysql -u root -pYourNewPassword mysql>