mysqldump-Tabelle nicht vorhanden, wenn LOCK TABLES verwendet wird

Created:

2016-11-16 13:02:07 UTC

Modified:

2017-08-16 10:54:06 UTC

19

Was this article helpful?


Have more questions?

Anfrage einreichen

mysqldump-Tabelle nicht vorhanden, wenn LOCK TABLES verwendet wird

Applicable to:

  • Plesk

Kennzeichen

Das MySQL-Datenbankabbild schlägt fehl und folgender Fehler wird angezeigt:

mysqldump: Got error: 1146: Table ' ' doesn't exist when using LOCK TABLES

Ursache

  1. Vielleicht haben Sie die InnoDB-Datendateien gelöscht oder neu erstellt, aber vergessen, die zugehörigen .frm-Dateien der InnoDB-Tabellen aus dem Datenbankverzeichnis zu löschen. Oder Sie haben die .frm-Dateien in eine andere Datenbank verschoben. Überprüfen Sie dies mit show tables
  2. Falsche Berechtigungen und Inhaberschaft für die Tabellendateien im MySQL-Datenverzeichnis
  3. Tabelle ist beschädigt
  4. Tabelle wurde mit Großbuchstaben erstellt

Lösung

  1. Führen Sie eine Überprüfung mit show tables durch. Wenn die Tabelle nicht aufgelistet ist, verschieben Sie die .frm -Datei aus dem Datenbankverzeichnis heraus
  2. Die Berechtigung und Inhaberschaft für die Tabellendateien im MySQL-Datenverzeichnis sind nicht korrekt; Besitzer der Tabellendateien sollte der Benutzer "mysql" und die Berechtigung sollte 660 sein.
  3. Reparieren Sie die Tabelle
  4. Definieren Sie lower_case_table_names

Wenn alle oben genannten Punkte in Ordnung sind, versuchen Sie, den Parameter --skip-lock-tables mit mysqldump zu verwenden.

Haben Sie Fragen? Anfrage einreichen
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.