wake-up-neo.com

Übertragen Sie die Mysql-Datenbank auf einen anderen Computer

Ich habe eine mysql-Datenbank, die auf einem Windows Computer ausgeführt wird. Gibt es ein Werkzeug zum Übertragen der Datenbank auf einen anderen Computer (Ausführen von Ubuntu )?

Ansonsten schreibe ich einfach eine script, um die gesamte Datenbank in SQL und insert it auf dem anderen Computer aufzunehmen. Ich versuche nur etwas Zeit zu sparen :)

Danke euch allen.

27
fmsf

Das Werkzeug, von dem Sie sprechen, existiert bereits: mysqldump

Es wird in SQL ausgegeben, das Sie dann auf einen anderen Computer kopieren und erneut laden können.

z.B:

auf Quelle:

mysqldump -u username -p databasename > dumpfile.sql

Verschieben Sie dann die Datei mit ftp/rsync/whatever auf die Zielmaschine und erstellen Sie dort eine leere Datenbank, die importiert und ausgeführt werden soll:

mysql -u username -p databasename < dumpfile.sql

Sie müssen außerdem Berechtigungen für alle Benutzer einrichten, die möglicherweise ebenfalls übertragen wurden, da sie nicht in der Datenbank enthalten sind.

Alternativ können Sie die Dateien auch aus dem mysql-Datenverzeichnis kopieren - aber mysqldump ist der einfachste/zuverlässigste Weg.

Erwähnenswert ist, dass die Tabellennamen auf einem System zwischen Groß- und Kleinschreibung unterscheiden können, wenn sie nicht auf dem Original waren. Es hängt von der Konfiguration an beiden Enden ab - insbesondere von der Fallempfindlichkeit (oder anders) des Dateisystems.

31
benlumley

Anstatt die Datenbanken einzeln zu exportieren, können Sie sie alle mit einem einzigen Befehl exportieren. Dann importieren Sie sie. ZB.

mysqldump -u username -p --all-databases > c:\alldbs.sql

PS- Der größte Vorteil ist, dass Sie die Benutzerberechtigungen nicht verlieren.

17
Sanjay Zalke

Die Dateien auf der Festplatte sind zu 100% mit allen MySQL-Editionen kompatibel. Sie müssen nur auf den Fall der Dateinamen achten, da dies unter Unix wichtig ist, während dies unter Windows nur manchmal der Fall ist.

Denken Sie daran, MySQL zu stoppen, bevor Sie eine Kopie machen. MyISAM-Dateien können während des Betriebs in Ordnung gebracht werden, InnoDB-Dateien sind jedoch nicht wirklich sicher, und MySQL von Windows verwendet standardmäßig InnoDB-Dateien.

2
staticsan

Seien Sie vorsichtig mit Zeichensätzen, wenn Sie mysqldump verwenden, insbesondere unter Windows. Ich ziehe es vor, den Zeichensatz, den meine Datenbank verwendet, explizit festzulegen und die Datei --result-file = zu verwenden, anstatt den Operator> zu verwenden, da sonst etwas verstümmelt wird.

2
Ariel Arjona

Aus der MySQL-Dokumentation: http://dev.mysql.com/doc/refman/5.0/de/copying-databases.html

Shell> mysqldump --quick db_name | gzip > db_name.gz

Übertragen Sie die Datei mit dem Datenbankinhalt auf den Zielcomputer und führen Sie diese Befehle dort aus:

Shell> mysqladmin create db_name
Shell> gunzip < db_name.gz | mysql db_name
1
Petre Lukarov

Ich verwende oft eine Variante dieses One-Liner, um eine Datenbank über das Netzwerk zu kopieren.

mysqldump --opt --compress --user=username database | mysql --user=username2 --password=p2 --Host=hostB -D database -C database

Worüber ich ursprünglich hier gelesen habe:

http://www.igvita.com/2007/10/10/hands-on-mysql-backup-migration/

0
AdamK

Mit der neuen MySQL-Workbench (GUI-Tool) können Sie die Datenbank problemlos exportieren und in die Datenbank importieren, die Sie migrieren möchten.

0
zhongxiao37

mysqldump sollte es korrekt ausgeben und den Zeichensatz von allem in der Datenbank beibehalten. Es empfiehlt sich, zur gleichen Version von mysql zu wechseln, wenn Sie keine Probleme haben möchten.

Die von mysqldump erzeugte Datei ist KEINE Textdatei, obwohl sie angezeigt wird, bearbeiten Sie sie nicht mit notepad.exe usw., oder Sie werden in Schwierigkeiten geraten.

Dumps, die von gui-Tools von Drittanbietern, insbesondere von phpmyadmin, erstellt wurden, sind im Allgemeinen ungenau und werden nicht unbedingt korrekt wiederhergestellt.

0
MarkR

Sie können eine Sicherungskopie mit einem beliebigen GUI-Tool erstellen, z. B. MySQL-Administrator ( http://dev.mysql.com/downloads/gui-tools/ unter Windows, aptitude install mysql-admin auf Ubuntu) oder phpmyadmin ( http://www.phpmyadmin.net/home_page/index.php Unter Windows, installieren Sie aptitude phpmyadmin unter Ubuntu) und stellen Sie es dann auf dem anderen Computer wieder her.

0
Gonzalo Quero