web-dev-qa-db-fra.com

mysqldump Erreur 1045 Accès refusé malgré des mots de passe corrects, etc.

C'est un problème, j'ai la sortie suivante:

mysqldump: Erreur obtenue: 1045: Accès refusé pour l'utilisateur 'root' @ 'localhost' (à l'aide du mot de passe: YES) lors d'une tentative de connexion.

Lors de la tentative d'exportation de 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, spécifiant à l'aide de -u et -p, spécifiant à l'aide de --user= et --password= et d'autres méthodes permettant de spécifier un utilisateur/mot de passe, etc. Hôte (tout est local) et même en spécifiant la base de données en utilisant --databases au lieu de simplement vide. L'erreur est toujours la même quand on utilise un mot de passe et toujours la même sauf le message "NO" quand on est sans. J'ai essayé de nombreux correctifs trouvés lors de recherches, mais sans succès. Un correctif a suggéré d'inspecter mysql.conf, mais la version de Windows ne semble pas en avoir. Les identifiants (et les paramètres de ligne de commande) fonctionnent parfaitement avec mysql.exe - ce problème ne semble affecter que mysqldump.exe.

Merci beaucoup pour votre aide.

43
DdlyHeadshot

Cela a fonctionné pour moi

mysqldump -u root -p mydbscheme > mydbscheme_dump.sql

après avoir lancé la commande, il demande un mot de passe:

Enter password:

entrer le mot de passe fera le fichier de vidage.

48
Boris Pavlović

Si vous parvenez à vous connecter à la base de données à l'aide de mysql, mais que vous obtenez une erreur pour mysqldump, le problème peut être que vous ne disposez pas des privilèges nécessaires 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
25
Johnathan Elmore

L'accès refusé est probablement lié au système de fichiers Windows et non à la base de données MySQL; essayez de rediriger le fichier de sortie vers un emplacement où votre compte est autorisé à créer des fichiers.

17
user3761176

Essayez de supprimer l’espace lorsque vous utilisez l’option -p. Cela fonctionne pour mon mysqldump OSX et Linux:

mysqldump -u user -ppassword ...
10
Andree Wendel

Mettez les privilèges GRANT:

GRANT ALL PRIVILEGES ON mydb.* TO 'username'@'%' IDENTIFIED BY 'password';
6
Anand Mishra

N'entrez pas le mot de passe avec la commande. Il suffit d'entrer,

mysqldump -u (nom d'utilisateur) -p (nom_bdd)> (fichier_sauvegarde) .sql

Ensuite, vous recevrez une invite pour entrer le mot de passe.

6
hariK

Faire sans -u et -p a fonctionné pour moi (quand j'étais connecté en tant que root): 

mysqldump --opt mydbname > mydbname.sql
5
zylstra

mysqldump -h nomhôte -u nomutilisateur -P port -B base de données --no-create-info -p> output.sql

Je pense que vous devriez spécifier les arguments

5
wcc526

Vous devez insérer des barres obliques inverses dans votre mot de passe contenant des métacaractères Shell, tels que! # '"` &;

3
Someone

mysqldump -u (utilisateur) -p (passwd) -h (Host_ou_IP) database_to_backup> backup_file.sql

exemple:

mysqldump -u dieu -pheaven -h 10.0.10.10 comptabilité> accounting_20141209.sql 

cela créerait un fichier de sauvegarde SQL pour la base de données de comptabilité sur le serveur 10.0.10.10. Parfois, votre erreur est visible lorsque localhost n'est pas dans la configuration. Désigner une adresse IP du serveur peut aider.

1
McLinux

J'ai dû supprimer les ticks simples après l'indicateur de mot de passe:

--password=mypassword

et PAS

--password='mypassword'
0
Max

Pour les utilisateurs de MAMP PRO (ou toute personne dont mysql se trouve dans un emplacement étrange), préparez-vous à spécifier le chemin complet mysql à partir des boonies, ainsi que le chemin complet du dossier local de l'utilisateur dans lequel vous voulez transférer le fichier " permission refusée erreur ".. 

Après avoir travaillé pour moi après 3 heures de recherche:

/Applications/MAMP/Library/bin/mysqldump  -u root -proot YOUR_DB > /Users/YOUR_USER/yourdump2.sql
0
Robert Sinclair

Je viens de le rencontrer 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

0
Hal50000

In Past me pose le même problème après avoir copié l'instruction mysqldump à partir d'un fichier MS Word. 

Mais lors de la saisie directe de la déclaration, tout a bien fonctionné.

Dans l'éditeur hexadécimal, le "-" de l'instruction qui ne fonctionnait pas était représenté par le caractère unicode e2 80 93 ( http://www.fileformat.info/info/unicode/char/2013/index.htm )

Dans Sort, saisissez mot de passe directement et vérifiez le code de copier-coller car les chaînes de code unique (ou autre) pourraient causer un problème.

0
Roland

J'ai eu la même erreur pour les 2 derniers jours. Essayé un tas de choses. Rien n'a fonctionné.
Mais cela a fonctionné:
Créez un autre utilisateur. Tout accorder.
mysqldump -u new_user db_name > db_name.sql // pas d'erreur

0
CoR

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 en tant que "racine d'un poste de travail aléatoire".

Vérifiez s'il y a un problème en exécutant:

USE information_schema; 
SELECT DEFINER, SECURITY_TYPE FROM views;

J'ai modifié DEFINER (en fait, définissez DEFINER sur root@localhost et la valeur SQL SECURITY sur INVOKER pour que la vue soit exécutée avec les autorisations de l'utilisateur appelant au lieu de l'utilisateur définissant, ce qui est plus logique) avec ALTER VIEW .

C'est délicat car vous devez construire l'instruction ALTER VIEW appropriée à partir de information_schema.views, alors vérifiez:

0
David Tonhofer

Mysql répond avec l'accès refusé avec les informations d'identification correctes lorsque le compte mysql a REQUIRE SSL activé

Le fichier ssl_ca (au minimum) devait être fourni dans les paramètres de connexion. 

Des paramètres ssl supplémentaires peuvent être requis 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

0
ThorSummoner

J'ai découvert un processus Apache en cours d'exécution accédant à la MYSQL à l'origine de cette erreur. Je suggère donc de veiller à ce que tous les processus susceptibles d'interagir avec la base de données soient préalablement arrêtés.

0
Florian Storck