mysqldump: Got error: 1044: Zugriff für Benutzer 'Benutzername' @ 'localhost' auf Datenbank 'Datenbankname' bei Verwendung von LOCK TABLES verweigert

16

mysqldump: Got error: 1044: Zugriff für Benutzer 'Benutzername' @ 'localhost' auf Datenbank 'Datenbankname' bei Verwendung von LOCK TABLES verweigert

Ich kann mich ordnungsgemäß anmelden und eine vollständige Sicherung von SQLyog Tool erstellen. Wenn ich jedoch versuche, eine Sicherung von MySQL Enterprise Workbencg zu erstellen, wird eine Fehlermeldung angezeigt.

mysqldump: Got error: 1044: Zugriff für Benutzer 'myuserid' @ '%' auf die Datenbank 'mydatabasename' verweigert, wenn LOCK TABLES ausgeführt wird

Operation mit Exitcode 2 fehlgeschlagen

Und der MySQL-Verbindungsstatus ist in Ordnung.

mysql> status;

mysql.exe Ver 14.14 Distrib 5.6.19, für Win32 (x86)

Verbindungs-ID: 23921 Aktuelle Datenbank: Datenbankname Aktueller Benutzer: Benutzer-ID ist in Ordnung. SSL: Wird nicht verwendet. Trennzeichen verwenden:; Serverversion: 5.6.17-log MySQL Community Server (GPL) Protokollversion: 10 Verbindung: Verbindung ist hier in Ordnung Serverzeichensatz: utf8 Datenbankzeichensatz: utf8 Clientzeichensatz: cp850 Verbindungszeichensatz: cp850 TCP-Port: 3306 Betriebszeit: 21 Tage 21 Stunden 11 Minuten 37 Sekunden

Themen: 24 Fragen: 20500671 Langsame Abfragen: 3212 Wird geöffnet: 121998 Tabellen leeren: 1 Geöffnete Tabellen: 2000 Durchschn. Abfragen pro Sekunde: 10,842

Md Haidar Ali Khan
quelle

Antworten:

26

Ich weiß, dass es sehr spät ist, aber ich habe diese Frage gefunden, als ich auf dasselbe Problem gestoßen bin. Für den Fall, dass jemand etwas braucht, habe ich zwei mögliche Lösungen gefunden:

  1. Ihr Benutzer verfügt nicht über die LOCKBerechtigung, daher sollten Sie Ihren Datenbankadministrator bitten, die Berechtigung zu erteilen
  2. Führen Sie den gleichen mysqldumpBefehl aus, indem Sie einfach das --single-transactionFlag hinzufügen , z.mysqldump --single-transaction -u user -p ...
ThanksForAllTheFish
quelle
Es funktioniert Ihre Lösung.
Hasan
-1

Eine schnelle Problemumgehung besteht darin, die Option –single-transaction an mysqldump zu übergeben:

$ mysqldump --single-transaction -u user -p DBNAME > backup.sql

Nur zum Teilen enthält der folgende Artikel gute Informationen zum gleichen Thema.

mysqldump: 1044 Zugriff verweigert bei Verwendung von LOCK TABLES

Mohamed Sabr
quelle