Maison > Article > base de données > Comment résoudre l'erreur 1045 dans Navicat
Problèmes :
(Partage de vidéos d'apprentissage : Vidéo de programmation)
1045-Access denied for user 'root'@'localhost'(using password: YES)
Analyse des causes :
Principalement parce que l'utilisateur a saisi un nom d'utilisateur ou un mot de passe incorrect et que l'accès lui a été refusé. Si vous ne souhaitez pas réinstaller, vous devez récupérer ou réinitialiser votre mot de passe.
La solution consiste à réinitialiser le mot de passe de l'utilisateur root. Les étapes sur la plate-forme Windows sont les suivantes :
Méthode 1 :
1. administrateur système ;
2. Si le serveur MySQL est en cours d'exécution, arrêtez-le.
Si le serveur s'exécute en tant que service Windows, entrez dans le gestionnaire de services : Menu Démarrer->Panneau de configuration->Outils d'administration->Services; si le serveur ne s'exécute pas en tant que service, vous pouvez besoin d'utiliser la gestion des tâches pour forcer son arrêt.
3. Créez un fichier texte et placez la commande suivante sur une seule ligne :
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
Enregistrez le fichier sous n'importe quel nom. Dans cet exemple, le fichier est C:mysql-init.txt.
4. Entrez l'invite de commande DOS : Démarrer menu->Exécuter-> cmd
Supposons que vous avez installé MySQL sur C:mysql. Si vous avez installé MySQL à un autre emplacement, veuillez ajuster les commandes suivantes en conséquence.
Dans l'invite de commande DOS, exécutez la commande :
C:\> C:\mysql\bin\mysqld-nt --init-file=C:\mysql-init.txt
Lorsque le serveur démarre, exécutez l'option "--init-file" pour lire SQL à partir du fichier spécifié au démarrage. Le contenu de le fichier nommé par la commande modifie le mot de passe de l'utilisateur root. Lorsque le serveur démarre avec succès, C:mysql-init.txt doit être supprimé.
5. Arrêtez le serveur MySQL puis redémarrez-le en mode normal.
Si vous exécutez le serveur en tant que service, vous devez le démarrer à partir de la fenêtre Services Windows ; si vous avez démarré le serveur manuellement, vous pouvez utiliser les commandes normalement.
Méthode 2 :
# /etc/init.d/mysql stop # mysqld_safe --user=mysql --skip-grant-tables --skip-networking & # mysql -u root mysql mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’; mysql> FLUSH PRIVILEGES; mysql> quit # /etc/init.d/mysql restart # mysql -uroot -p Enter password: <输入新设的密码newpassword> mysql>
Méthode 3 :
Utilisez directement le nom d'utilisateur et le mot de passe fournis dans la section [client] du fichier /etc/mysql/debian.cnf :
# mysql -udebian-sys-maint -p Enter password: <输入[client]节的密码> mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’; mysql> FLUSH PRIVILEGES; mysql> quit # mysql -uroot -p Enter password: <输入新设的密码newpassword> mysql>
Méthode 4 :
1. L'administrateur se connecte au système, arrête le service mysql ou termine le processus mysqld-nt
2. allez dans le répertoire d'installation de mysql. Supposons que le répertoire d'installation soit d:mysql, CMD pour entrer la ligne de commande
3 Exécutez d:mysqlbinmysqld-nt --skip-grant-tables pour démarrer mysql, désactivez-le. vérification des autorisations
4. Exécutez d:mysqlbinmysqladmin -u root flush-privileges password "newpassword" Réinitialiser le mot de passe root
5. Redémarrez le service mysql
Recommandations associées : navicat
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!