Heim > Datenbank > MySQL-Tutorial > MySQL-Datenverzeichnis verschoben: Warum zeigt SHOW TABLES eine Tabelle an, die nicht existiert?

MySQL-Datenverzeichnis verschoben: Warum zeigt SHOW TABLES eine Tabelle an, die nicht existiert?

Linda Hamilton
Freigeben: 2024-12-03 08:06:18
Original
260 Leute haben es durchsucht

MySQL Data Directory Moved: Why Does SHOW TABLES Show a Table That Doesn't Exist?

MySQL-Datenverzeichnisänderung: Tabelle existiert, ist aber nicht zugänglich

Als Reaktion auf das verwirrende Problem, dass eine Tabelle in SHOW TABLES erscheint, aber einen Existenzfehler zurückgibt Beim Zugriff wurde eine Lösung gefunden.

Nach der Verschiebung des MySQL-Datenverzeichnisses zeigte eine bestimmte Datenbank dies an Anomalie. Trotz erfolgreicher Verbindung und Auflistung der Tabellen in der Datenbank mithilfe von SHOW TABLES führten Versuche, Daten abzurufen, zur Fehlermeldung „Tabelle 'Datenbank.TABLE_ONE' existiert nicht.“

Die anfänglichen Spekulationen führten das Verhalten auf SHOW zurück TABLES überprüft nur die Dateiexistenz, ohne die Dateiintegrität zu validieren. Es wurde jedoch eine andere Ursache identifiziert.

Beim direkten Kopieren eines Datenbankverzeichnisses mit dem Befehl „cp -r /path/to/my/database /var/lib/mysql/new_database“ tritt dieses Problem auf. Wenn die Datenbank InnoDB-Tabellen verwendet, tritt dieser spezifische Fehler auf.

Die Lösung besteht darin, sicherzustellen, dass die ib*-Dateien (z. B. ibdata1, ib_logfile0, ib_logfile1) im Stammverzeichnis des MySQL-Datenverzeichnisses vorhanden sind. Nach dem Kopieren dieser wichtigen Dateien ist das Problem der Unzugänglichkeit behoben und der Tabellenzugriff wird wiederhergestellt.

Das obige ist der detaillierte Inhalt vonMySQL-Datenverzeichnis verschoben: Warum zeigt SHOW TABLES eine Tabelle an, die nicht existiert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage