Heim > Datenbank > MySQL-Tutorial > Wie benenne ich eine MySQL-Datenbank mit InnoDB-Tabellen um, ohne sie zu sichern und erneut zu importieren?

Wie benenne ich eine MySQL-Datenbank mit InnoDB-Tabellen um, ohne sie zu sichern und erneut zu importieren?

Barbara Streisand
Freigeben: 2024-12-14 11:52:10
Original
880 Leute haben es durchsucht

How to Rename a MySQL Database with InnoDB Tables Without Dumping and Re-importing?

MySQL-Datenbanken für InnoDB-Tabellen umbenennen

Als Alternative zum Dumpen und erneuten Importieren großer Datenbanken möchten Sie diese möglicherweise direkt umbenennen. Obwohl die RENAME-Syntax nicht empfehlenswert ist, gibt es einen zuverlässigeren Ansatz für InnoDB-Tabellen.

Schritte:

  1. Erstellen Sie eine leere neue Datenbank mit dem gewünschten Namen.
  2. Führen Sie für jede Tabelle in der Originaldatenbank Folgendes aus Befehl:
RENAME TABLE old_db.table TO new_db.table;
Nach dem Login kopieren

Skripting des Prozesses:

Verwenden Sie der Einfachheit halber Shell-Skripting, um die Umbenennung zu automatisieren Prozess:

mysql -u username -ppassword old_db -sNe 'show tables' | while read table; \ 
    do mysql -u username -ppassword -sNe "rename table old_db.$table to new_db.$table"; done
Nach dem Login kopieren

Alternativ:

for table in `mysql -u root -ppassword -s -N -e "use old_db;show tables from old_db;"`; do mysql -u root -ppassword -s -N -e "use old_db;rename table old_db.$table to new_db.$table;"; done;
Nach dem Login kopieren

Hinweise:

  • Entfernen Sie den Passwortteil, wenn Ihre Datenbank nicht passwortgeschützt ist. geschützt.
  • Trigger verhindern, dass Tabellen mit dieser Methode verschoben werden. Erwägen Sie stattdessen das Klonen.
  • Gespeicherte Prozeduren können anschließend mit mysqldump -R old_db | kopiert werden mysql new_db.

Das obige ist der detaillierte Inhalt vonWie benenne ich eine MySQL-Datenbank mit InnoDB-Tabellen um, ohne sie zu sichern und erneut zu importieren?. 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