wake-up-neo.net

mysqldump Fehler 1045 Zugriff trotz korrekter Kennwörter usw. verweigert

Dies ist eine schwierige Frage, ich habe die folgende Ausgabe:

mysqldump: Fehler: 1045: Zugriff für Benutzer 'root' @ 'localhost' (mit Kennwort: YES) beim Verbindungsaufbau verweigert

Beim Versuch, meine Datenbank mit mysqldump unter Windows XP zu exportieren. Der Benutzername ist root, das Passwort ist korrekt und enthält nur alphanumerische Zeichen. Ich habe verschiedene Fälle ausprobiert, mit/ohne Anführungszeichen, mit -u und -p, mit --user= und --password= und anderen Methoden zur Angabe von Benutzernamen/Kennwörtern usw., mit Angabe des Hosts (alles lokal) und sogar mit --databases der Datenbank leer. Der Fehler ist bei Verwendung eines Kennworts immer derselbe und immer derselbe, mit Ausnahme der Meldung "NEIN", wenn dies nicht der Fall ist. Ich habe viele Korrekturen durch Suchanfragen ohne Erfolg ausprobiert. Ein Fix schlug die Überprüfung von mysql.conf vor, aber der Windows-Build scheint keinen zu haben. Die Berechtigungsnachweise (und in der Tat die Befehlszeilenparameter) funktionieren perfekt mit mysql.exe - dieses Problem scheint nur die mysqldump.exe zu betreffen.

Vielen Dank für deine Hilfe.

43
DdlyHeadshot

Das hat bei mir funktioniert

mysqldump -u root -p mydbscheme > mydbscheme_dump.sql

nachdem Sie den Befehl ausgeführt haben, werden Sie nach einem Kennwort gefragt:

Enter password:

durch Eingabe des Passworts wird die Dump-Datei erstellt.

48
Boris Pavlović

Wenn Sie mit mysql eine Verbindung zur Datenbank herstellen können, aber für mysqldump ein Fehler angezeigt wird, besteht das Problem möglicherweise darin, dass Sie nicht über die Berechtigungen zum Sperren der Tabelle verfügen.

Versuchen Sie in diesem Fall die Option --single-transaction.

mysqldump -h database.example.com -u mydbuser -p mydatabase --single-transaction  > /home/mylinuxuser/mydatabase.sql
25

Der Zugriff, der verweigert wird, betrifft wahrscheinlich das Windows-Dateisystem, nicht die MySQL-Datenbank. Versuchen Sie, die Ausgabedatei an einen Ort umzuleiten, an dem Ihr Konto Dateien erstellen darf.

17
user3761176

Versuchen Sie, den Speicherplatz zu entfernen, wenn Sie die -p-Option verwenden. Dies funktioniert für mein OSX und Linux mysqldump:

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

Setzen Sie die GRANT-Berechtigungen ein:

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

Geben Sie das Passwort nicht mit dem Befehl ein. Geben Sie einfach ein,

mysqldump -u (Benutzername) -p (Datenbankname)> (Sicherungsdatei) .sql

Sie erhalten dann eine Aufforderung zur Kennworteingabe.

6
hariK

Zugriffsproblem behoben, wenn ich die Eingabeaufforderung im Modus Administrator ausführe.

Gehe zu Start-> All Programs -> Accessories klicke mit der rechten Maustaste auf Command Prompt klicke auf Run as.. Wähle The Following User wähle administrator username aus der Auswahloption Passwort eingeben, falls vorhanden, klicke auf die Schaltfläche OK.

Beispiel 1: Für die gesamte Datenbanksicherung in MySQL mit der Eingabeaufforderung.

In Windows 7 und 8

C:\Program Files <x86>>\MySQL\MySQL Server 5.5\bin>mysqldump test -u root -p >testDB.sql
Enter Password: *********

In Windows XP

C:\Program Files\MySQL\MySQL Server 5.5\bin>mysqldump test -u root -p >testDB.sql
Enter Password: *********

Es fragt nach dem Passwort für die Anmeldeinformationen Passwort eingeben und klicken Sie auf die Schaltfläche Enter.

Beispiel 2: Für bestimmte Tabellen Backup/Dump in MySQL mit Eingabeaufforderung.

In Windows 7 und 8

C:\Program Files <x86>>\MySQL\MySQL Server 5.5\bin>mysqldump test -u root -p images>testDB_Images.sql
Enter Password: *********

In Windows XP

C:\Program Files\MySQL\MySQL Server 5.5\bin>mysqldump test -u root -p images>testDB_Images.sql
Enter Password: *********

Dumpt-Datei wird unter Ordner erstellt

In Windows XP

C:\Program Files\MySQL\MySQL Server 5.5\bin

In Windows 7 und 8

C:\Program Files (x86)\MySQL\MySQL Server 5.5\bin

Hinweis: Überprüfen Sie den MySQL-Installationsordner in Windows 7, 8, während Sie die Eingabeaufforderung ausführen. Wenn es sich bei MySQLWorkbench um eine 32-Bit-Version handelt, wird sie im Ordner Program Files (x86) eines anderen Program Files-Ordners installiert.

6
pudaykiran

Ohne -u und -p zu arbeiten, funktionierte für mich (als ich als root angemeldet war): 

mysqldump --opt mydbname > mydbname.sql
5
zylstra

mysqldump -h Hostname -u Benutzername -P Port -B Datenbank --no-create-info -p> output.sql

Ich denke, Sie sollten die Argumente angeben

5
wcc526

Sie müssen in Ihr Kennwort Backslashes einfügen, die Shell-Metazeichen enthalten, z.

3
Someone

mysqldump -u (benutzer) -p (passwd) -h (Host_oder_IP) database_to_backup> backup_file.sql

beispiel:

mysqldump -u gott -pfahl -h 10.0.10.10 buchhaltung> buchhaltung_20141209.sql 

dadurch würde eine SQL-Sicherungsdatei für die Abrechnungsdatenbank auf dem Server 10.0.10.10 erstellt. Manchmal wird Ihr Fehler angezeigt, wenn sich localhost nicht in config befindet. Das Festlegen der IP-Adresse des Servers kann hilfreich sein.

1
McLinux

Ich musste die einzelnen Häkchen nach dem Passwort-Flag entfernen:

--password=mypassword

und NICHT

--password='mypassword'
0
Max

Für MAMP PRO-Benutzer (oder alle, die sich mit mysql an einem seltsamen Speicherort befinden) geben Sie an, den vollständigen Pfad des mysql von den Boonies und den vollständigen Pfad zu Ihrem lokalen Benutzerordner anzugeben, in dem Sie die Datei sichern möchten. Erlaubnis verweigert Fehler ".. 

Folgendes arbeitete für mich nach 3 Stunden Recherche:

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

Ich bin gerade nach einer Neuinstallation von MySQL 5.6.16 darauf gestoßen.

Seltsamerweise funktioniert es ohne das angegebene oder gekennzeichnete Passwort:

mysqldump -u root myschema mytable > dump.sql

0
Hal50000

In der Vergangenheit trat dasselbe Problem auf, nachdem ich die Anweisung mysqldump aus einer MS Word-Datei kopiert hatte. 

Wenn Sie die Aussage direkt eingeben, hat alles gut funktioniert.

Im Hex-Editor wurde das "-" der nicht funktionierenden Anweisung durch das Unicode-Zeichen e2 80 93 dargestellt ( http://www.fileformat.info/info/unicode/char/2013/index.htm )

Geben Sie bei der Sortierung das Kennwort direkt ein, und überprüfen Sie den Code zum Einfügen von Kopien, da die unicode-Zeichenfolge (oder andere Codierung) möglicherweise ein Problem verursachen.

0
Roland

Ich hatte den gleichen Fehler für die letzten 2 Tage. Versuchte ein paar Dinge. Nichts hat geklappt.
Aber das hat funktioniert:
Erstellen Sie einen anderen Benutzer. Gib es alles.
mysqldump -u new_user db_name > db_name.sql // kein fehler

0
CoR

Ich hatte das Problem, dass es Ansichten gab, die einen fehlerhaften "DEFINER" hatten, der der Benutzer ist, der die Ansicht definiert hat. Der in der Ansicht verwendete DEFINER wurde vor einiger Zeit als "root von einer zufälligen Arbeitsstation" entfernt.

Überprüfen Sie, ob möglicherweise ein Problem vorliegt, indem Sie Folgendes ausführen:

USE information_schema; 
SELECT DEFINER, SECURITY_TYPE FROM views;

Ich habe den DEFINER geändert (tatsächlich den DEFINER auf [email protected] Und den SQL SECURITY-Wert auf INVOKER gesetzt), damit die Ansicht mit den Berechtigungen des aufrufenden Benutzers anstelle des definierenden Benutzers ausgeführt wird sinnvoller) mit ALTER VIEW .

Dies ist schwierig, da Sie die entsprechende ALTER VIEW - Anweisung aus information_schema.views Erstellen müssen. Überprüfen Sie daher Folgendes:

0
David Tonhofer

Mysql antwortet mit verweigertem Zugriff mit korrekten Anmeldeinformationen, wenn für das mysql-Konto REQUIRE SSL aktiviert ist

Die ssl_ca-Datei (mindestens) musste in den Verbindungsparametern angegeben werden. 

Zusätzliche SSL-Parameter sind möglicherweise erforderlich und werden hier dokumentiert: http://dev.mysql.com/doc/refman/5.7/de/secure-connection-options.html


Auch hier veröffentlicht https://stackoverflow.com/a/39626932/1695680

0
ThorSummoner

Ich habe einen laufenden Apache-Prozess entdeckt, der auf den MySQL-Server zugreift und diesen Fehler verursacht. Daher schlage ich vor, sicherzustellen, dass alle Prozesse, die möglicherweise mit der Datenbank interagieren, zuvor heruntergefahren werden.

0
Florian Storck