Heim >Datenbank >MySQL-Tutorial >Wie kann ich eine MySQL InnoDB-Datenbank effizient umbenennen?

Wie kann ich eine MySQL InnoDB-Datenbank effizient umbenennen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-23 17:34:11431Durchsuche

How Can I Efficiently Rename a MySQL InnoDB Database?

Umbenennen einer MySQL-Datenbank: Eine effiziente Lösung für InnoDB

Das Umbenennen einer MySQL-Datenbank kann eine entmutigende Aufgabe sein, insbesondere bei großen Datenbanken und solchen Verwendung von InnoDB, das Daten anders speichert als MyISAM. Mit dem richtigen Ansatz lässt sich dies jedoch effizient bewerkstelligen.

Um eine InnoDB-Datenbank umzubenennen, müssen wir eine neue leere Datenbank erstellen und dann jede Tabelle einzeln hinein verschieben:

RENAME TABLE old_db.table TO new_db.table;

Es ist wichtig, die Datenbankberechtigungen nach der Tabellenmigration anzupassen.

Für die Skripterstellung in einer Shell können Sie eine der folgenden Methoden verwenden Befehle:

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

oder

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;

Hinweise:

  • Lassen Sie kein Leerzeichen zwischen der Option -p und dem Passwort.
  • Wenn die Datenbank kein Passwort hat, entfernen Sie das -u Benutzername -ppasswort Teil.
  • Wenn eine Tabelle einen Trigger enthält, kann dieser nicht mit der oben genannten Methode verschoben werden. Verwenden Sie in solchen Fällen die herkömmliche Technik zum Klonen von Datenbanken: mysqldump old_db | mysql new_db.
  • Gespeicherte Prozeduren können nach der Datenbankumbenennung kopiert werden: mysqldump -R old_db | mysql new_db.

Das obige ist der detaillierte Inhalt vonWie kann ich eine MySQL InnoDB-Datenbank effizient umbenennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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