ich ein tägliches Backup mysqldump Sicherung der Produktionsdatenbank (MySQL Version 5.1.66) laufen:mysqldump Probleme mit dem Fehler wiederherzustellen: ‚Bitte entsorgen Sie den Tabellen vor IMPORT‘
mysqldump --user=username --password=secret -C -e --create-options --hex-blob --net_buffer_length=5000 databasename > file
ich auch eine tägliche Wiederherstellung dass Datenbank auf meiner Entwicklung Maschine (mySQL Version 5.6.12)
mysql --user=username --password=secret databasename < file
ich den Fehler: eRROR 1813 (HY000) in Zeile 25: Tablespaces für die Tabelle 'databasename
. tablename
existiert. Bitte löschen Sie den Tablespace vor dem IMPORT.
Meine Lektüre zeigt dies liegt daran, dass die MySQL InnoDB-Datenbank den Befehl erfordert:
ALTER TABLE tbl_name DISCARD TABLESPACE;
ausgeführt werden, bevor die Tabelle gelöscht wird - es scheint, dass die Tabelle löschen nicht ausreicht, um ihre loswerden Indizes. (mein Entwicklungsserver verwendet die Option innodb_file_per_table)
Ich möchte nicht die Option 'Ersetzen' verwenden, weil ich möglicherweise Daten in meiner Entwicklungsdatenbank haben könnte, die in der Produktionsdatenbank gelöscht wurde.
BTW nach dem Fehler sind die Tabellen nicht lesbar, aber Neustart mysqld behebt es.
Die Frage ist also, gibt es eine mysql-Dump-Option, die dazu beitragen wird, dieses Problem zu beheben, oder gibt es eine andere Möglichkeit, die Daten zu importieren, die den Fehler verhindern?
danke im Voraus für das Lesen.
Vielen Dank. Ich habe hinzugefügt: --add-drop-database --databases weil der create database -Befehl wurde nicht nur mit add-drop-database – pgee70
Nach dem Kopieren der tablename.frm, stellen Sie sicher, dass die Datei verfügt über die entsprechenden Berechtigungen und gehört für den Benutzer: Gruppe, auf die von MySQL zugegriffen werden kann. – NEB