erreur mysqldump 1045 Accès refusé malgré les bons mots de passe etc
c'est un problème délicat, j'ai la sortie suivante:
mysqldump: got error: 1045: Accès refusé pour l'utilisateur 'root'@ 'localhost' (en utilisant le mot de passe: oui) en essayant de se connecter
en essayant d'exporter ma base de données avec mysqldump
sous Windows XP. Le nom d'utilisateur est root, le mot de passe est correct et ne contient que des caractères alphanumériques. J'ai essayé différents cas, avec/ sans guillemets, en spécifiant en utilisant -u
et -p
, en spécifiant l'utilisation de --user=
et --password=
et d'autres méthodes pour spécifier l'utilisateur/les mots de passe, etc, en spécifiant l'hôte (tout est local) et même en spécifiant la base de données en utilisant --databases
au lieu de simplement blanc. L'erreur est toujours la même lors de l'utilisation d'un mot de passe et toujours la même sauf le message "non" quand sans. J'ai essayé de nombreuses corrections trouvées par des recherches sans succès. Un correctif suggéra d'inspecter mysql.conf, mais la construction des fenêtres ne semble pas pour en avoir un. Les justificatifs d'identité (et les paramètres de ligne de commande) fonctionnent parfaitement avec mysql.exe - ce problème semble seulement affecter mysqldump.EXE.
merci Beaucoup pour votre aide.
19 réponses
cela a fonctionné pour moi
mysqldump -u root -p mydbscheme > mydbscheme_dump.sql
après avoir émis la commande il demande un mot de passe:
Enter password:
entrer le mot de passe fera le fichier dump.
si vous êtes capable de vous connecter à la base de données en utilisant mysql, mais que vous obtenez une erreur pour mysqldump, alors le problème peut être que vous n'avez pas les privilèges pour verrouiller la table.
essayez l'option --single-transaction dans ce cas.
mysqldump -h database.example.com -u mydbuser -p mydatabase --single-transaction > /home/mylinuxuser/mydatabase.sql
l'accès est probablement refusé au système de fichiers Windows et non à la base de données MySQL; essayez de rediriger le fichier de sortie vers un endroit où votre compte est autorisé à créer des fichiers.
essayez de supprimer l'espace lorsque vous utilisez l'option-p -. Cela fonctionne pour mon OSX et Linux mysqldump:
mysqldump -u user -ppassword ...
Mettre Le "151910920 privilèges":
GRANT ALL PRIVILEGES ON mydb.* TO 'username'@'%' IDENTIFIED BY 'password';
mysqldump-h hostname-u utilisateur -P port -B de la base de données --no-create-info -p > la sortie.sql
je pense que vous devriez préciser les arguments
N'entrez pas le mot de passe avec la commande. Entrez juste,
mysqldump-u (nom d'utilisateur) -p (db_name) > (backup_file).sql
alors vous obtiendrez une invite pour entrer le mot de passe.
problème D'accès résolu lorsque j'exécute l'invite de commande en mode Administrator
.
passer à Start-> All Programs -> Accessories
clic droit sur Command Prompt
cliquer sur Run as..
sélectionner The Following User
sélectionner administrator username
à partir de l'option Sélectionner entrer mot de passe si vous cliquez sur le bouton OK
.
exemple 1: pour la sauvegarde complète de la base de données mysql en utilisant l'invite de commande.
sous Windows 7 et 8
C:\Program Files <x86>>\MySQL\MySQL Server 5.5\bin>mysqldump test -u root -p >testDB.sql
Enter Password: *********
Dans Windows xp
C:\Program Files\MySQL\MySQL Server 5.5\bin>mysqldump test -u root -p >testDB.sql
Enter Password: *********
il demande le mot de passe pour les justificatifs d'identité entrez le mot de passe et cliquez sur le bouton ENTRER.
exemple 2: pour sauvegarde / dump de table spécifique dans mysql en utilisant l'invite de commande.
dans Windows 7 et 8
C:\Program Files <x86>>\MySQL\MySQL Server 5.5\bin>mysqldump test -u root -p images>testDB_Images.sql
Enter Password: *********
sous Windows xp
C:\Program Files\MySQL\MySQL Server 5.5\bin>mysqldump test -u root -p images>testDB_Images.sql
Enter Password: *********
le fichier Dumpt sera créé sous le dossier
Dans windows xp
C:\Program Files\MySQL\MySQL Server 5.5\bin
dans windows 7 et 8
C:\Program Files (x86)\MySQL\MySQL Server 5.5\bin
Note: vérifiez le dossier D'installation MySQL sous Windows 7, 8 pendant l'exécution de l'invite de commande. Si MySQLWorkbench
est une version 32 bits, il est installé dans Program Files (x86)
dossier autre sage Program Files
dossier.
faire sans le -u
et -p
travailler pour moi (quand j'ai été connecté en tant que root):
mysqldump --opt mydbname > mydbname.sql
mysqldump-u (user)- p(passwd) - h (host_or_IP) database_to_backup > backup_file.sql
exemple:
mysqldump-u god-pheaven-h 10.0.10.10 comptabilité > accounting_20141209.sql
cela créerait un fichier de sauvegarde sql pour la base de données comptable sur le serveur 10.0.10.10. Parfois, votre erreur est visible lorsque localhost n'est pas dans config. La désignation d'ip du serveur peut aider.
vous devez mettre des antislashes dans votre mot de passe qui contiennent des métacharactères shell, tels que !# ` "' & ;
je viens de tomber sur ça après une nouvelle installation de MySQL 5.6.16.
bizarrement, cela fonctionne sans le mot de passe spécifié ou marqué:
mysqldump -u root myschema mytable > dump.sql
dans le passé, le même problème m'est arrivé après que j'ai copié la déclaration mysqldump à partir d'un fichier MS Word.
mais en tapant la déclaration directement, tout fonctionnait bien.
dans Hex editor le " - " de la déclaration de non-travail était représenté par l'unicode char e2 80 93 ( http://www.fileformat.info/info/unicode/char/2013/index.htm )
dans le tri, tapez le mot de passe directement et vérifiez la copie coller le code en tant que chaîne uni-code (ou autre encodage) peut causer un problème..
j'ai dû enlever les tiques simples après le drapeau de mot de passe:
--password=mypassword
et Non
--password='mypassword'
j'ai eu la même erreur les 2 derniers jours. Essayé des tas de choses. Rien n'a fonctionné.
Mais cela a fonctionné:
Créer un autre utilisateur. Accorder le tout.
mysqldump -u new_user db_name > db_name.sql
//pas d'erreur
j'ai découvert un processus apache en cours d'exécution, acessing le MYSQL à l'origine de cette erreur. Je suggère donc de veiller à ce que tous les processus qui pourraient interagir avec le frein rhéostatique soient arrêtés à l'avance.
Mysql répond avec Accès refusé avec des justificatifs d'identité corrects lorsque le compte mysql a REQUIRE SSL
on
le fichier ssl_ca
(au minimum) devait être fourni dans les paramiters de connexion.
des paramètres ssl supplémentaires peuvent être nécessaires et sont documentés ici: http://dev.mysql.com/doc/refman/5.7/en/secure-connection-options.html
également publié ici https://stackoverflow.com/a/39626932/1695680
j'ai eu le problème qu'il y avait des vues qui avaient un mauvais" DEFINER", qui est l'utilisateur qui a défini la vue. Le DEFINER utilisé dans la vue avait été supprimé il y a quelque temps comme étant "root à partir d'un poste de travail aléatoire".
Vérifiez s'il pourrait y avoir un problème en exécutant:
USE information_schema;
SELECT DEFINER, SECURITY_TYPE FROM views;
j'ai modifié le DEFINER (en fait, mettre le DEFINER à root@localhost
et la valeur de sécurité SQL à INVOKER
de sorte que la vue est exécutée avec le les permissions de l'utilisateur appelant au lieu de l'utilisateur définissant, ce qui est en fait plus logique) en utilisant ALTER VIEW .
c'est délicat car vous avez à construire la appropriée ALTER VIEW
déclaration de information_schema.views
, donc cochez:
Allez dans Démarrer-> Tous les Programmes -> Accessoires clic droit sur Invite de commandes, cliquez sur Exécuter en tant qu'administrateur
dans l'invite de commande en utilisant la commande CD, allez dans le dossier bin MySQL et lancez la commande suivante
mysqldump --utilisateur root --password=root --all-databases>décharges.sql
il va créer des dumps.fichier sql dans le dossier bin.