mysqldump accès refusé
Quand j'essaie de sauvegarde à l'aide de la commande mysqldump de ssh,
Je exécutez la commande suivante sur la machine 10.64.1.1. Il donne l'erreur suivante.
mysqldump --user=test -p=password --host=10.64.1.2 --tab=. databasename tablename
mysqldump: Got error: 1045: Access denied for user 'test'@'10.64.1.1' (using password: YES)
lorsque vous essayez de vous connecter
Cependant, je peux accéder à mysql en utilisant le même nom d'utilisateur et mot de passe.
mysql --user=test -p[password]
Actuel de l'utilisateur: [email protected]
SSL: Not in use
Actuel pager: stdout
À l'aide de outfile: ''
En utilisant un délimiteur: ;
Version du serveur: 5.0.91-50-log Percona SQL Server, Revision 73 (GPL)
Version de protocole: 10
Connexion: 10.64.1.2 via TCP/IP
Mises à jour:
Si je ne suivant mysql document: --password[=password]
ou -p[password]
.
Depuis mon mot de passe contient un symbole spécial @
, Mysql ne peut pas détecter que l'utilisateur a correctement. Il se plaint:
mysqldump: Got error: 1044: Access denied for user 'test'@'%' to database
Vous devez vous connecter pour publier un commentaire.
Je pense que vous auriez à perdre l' = lors de l'utilisation -p ou le faire avec --mot de passe :
Vous avez à courir CMD.EXE en tant qu'Administrateur:
Clic droit sur cmd.exe --> Exécuter en tant qu'Administrateur et tapez votre commande:
mysqldump-u[nom d'utilisateur] -p[mot de passe] -h[ip ou le nom] yourdatabasename > c:\sqlfile.sql
Il devrait fonctionner correctement.
Je sais que le sujet est vieux, mais il m'est arrivé d'avoir le même problème. J'ai compris que le problème était juste le caractère spécial utilisé dans le mot de passe. En fait, ils doivent être échappés avec l'anti slash:
--password=123\@456
ou à l'aide de signle citations--password='123@456'
-p'P@$$W0RD'
J'ai eu le même problème avec un DB utilisateur créées via parallels Plesk panel. L'utilisateur a les autorisations pour une base de données unique. Si je spécifie le nom de base de données, j'obtiens le message d'erreur mentionné ci-dessus. Si je précise
-A
pour toutes les bases de données, le vidage de travaux.Dans windows, je l'ai résolu en faisant un répertoire, puis dumping *.fichier sql dans le répertoire de sauvegarde.
C:\backup
Il n'y a pas de problèmes avec les commandes :
Enlever les [ ] les crochets
mysqldump -u[username] -p[password] -h[ip] yourdb > C:\backup\sqlfile.sql
Il a travaillé pour moi:)
Encore une cause possible peut être l'endroit que vous essayez de créer un dump.
Écrit
mysqldump -u[username] -p yourdb > D:\backup\sqlfile.sql
au lieu demysqldump -u[username] -p yourdb > sqlfile.sql
résolu mon problème.Il n'y a pas de
=
(signe égal) pour les options de connexion. Vous voulez la suite.Découvrez les docs pour plus de détails sur les autres options.
--password=foo
est la forme longue,-pfoo
est la forme courte. Les deux sont valables.Heres ce qui a fonctionné pour moi - exécuter en ligne de cmd en tant qu'administrateur.
ne pas mettre de mot de passe après l'-p, vous êtes automatiquement invité à entrer un mot de passe et ça fonctionne.
Essayez avec cette commande