Ist es möglich, eine gesamte MySQL-Datenbank auf einem Linux-Server zu duplizieren?
Ich weiß, dass ich exportieren und importieren kann, aber die ursprüngliche Datenbank ist> 25 MB groß, das ist also nicht ideal.
Ist es möglich, mysqldump zu verwenden oder die Datenbankdateien direkt zu duplizieren?
--routines
diesem Fall als Option hinzu.~/.bash_history
nach der Ausführung aus Ihrer Datei. Sie können das Ergebnis des ersten Befehls auch in eine temporäre Datei ausgeben und anschließend Folgendes ausführen (wodurch Sie zur Eingabe des Kennworts aufgefordert werden)mysql -p -u admin duplicatedb < temporaryfile.sql
.Zum Remote-Server
Zum lokalen Server
quelle
Manchmal mache ich einen mysqldump und leite die Ausgabe in einen anderen mysql-Befehl, um sie in eine andere Datenbank zu importieren.
quelle
Erstellen Sie eine mysqldump-Datei im System, die die Daten enthält, und geben Sie diese mysqldump-Datei mithilfe von pipe als Eingabe für das neue System ein. Das neue System kann mit dem Befehl ssh verbunden werden.
kein Leerzeichen zwischen -p [Passwort]
quelle
Hier ist eine Windows Bat-Datei, die ich geschrieben habe und die Vincent und Pauls Vorschläge kombiniert. Der Benutzer wird zur Eingabe von Quell- und Zielnamen aufgefordert.
Ändern Sie einfach die Variablen oben, um die richtigen Pfade zu Ihren ausführbaren Dateien / Datenbankports festzulegen.
Beispielausgabe:
quelle
Dies funktioniert bei InnoDB nicht. Verwenden Sie diese Problemumgehung nur, wenn Sie versuchen, MyISAM-Datenbanken zu kopieren.
Wenn das Sperren der Tabellen während der Sicherung und möglicherweise das Anhalten von MySQL während des Datenbankimports akzeptabel ist, funktioniert mysqlhotcopy möglicherweise schneller.
Z.B
Backup:
Wiederherstellen:
mysqlhotcopy kann Dateien auch über SSH (scp) und möglicherweise direkt in das doppelte Datenbankverzeichnis übertragen.
Z.B
quelle
Erstellen einer Kopie einer Datenbank
quelle
Dies funktionierte bei mir mit der Eingabeaufforderung von der OUTSIDE MySQL-Shell:
Das sieht für mich am besten aus. Wenn Sie "dump.sql" komprimieren, können Sie es einfach als komprimiertes Backup speichern. Cool! Für eine 1-GB-Datenbank mit Innodb-Tabellen etwa eine Minute zum Erstellen von "dump.sql" und etwa drei Minuten zum Speichern von Daten in der neuen DB db2.
Das direkte Kopieren des Hole-DB-Verzeichnisses (mysql / data / db1) hat bei mir aufgrund der InnoDB-Tabellen nicht funktioniert.
quelle
Es war einmal in MySQL, als Sie einfach alle Tabellendateien in ein anderes Verzeichnis im MySQL-Baum kopieren konnten
mysql cli - Datenbank db2 erstellen
linux cli - cp db1 db2
quelle