Ich verwende eine MySQL-Datenbank mit einem Java-Programm. Jetzt möchte ich das Programm jemand anderem geben.
Wie exportiere ich die MySql-Datenbankstruktur ohne die darin enthaltenen Daten, nur die Struktur?
Ich verwende eine MySQL-Datenbank mit einem Java-Programm. Jetzt möchte ich das Programm jemand anderem geben.
Wie exportiere ich die MySql-Datenbankstruktur ohne die darin enthaltenen Daten, nur die Struktur?
Antworten:
Sie können mit der --no-data
Option mit dem Befehl mysqldump arbeiten
mysqldump -u root -p --no-data dbname > schema.sql
--single-transaction
Sie diese Option auch, wenn Sie keine Tabellensperren durchführen möchten oder können.
CREATE DATABASE
Befehl nicht enthalten . Enthalten, ersetzen dbname
mit --databases dbname
(Stenografie: -B dbname
). Um dann auf einen anderen Server zu importieren, verwenden Siemysql -u root -p < schema.sql
Ja, Sie können mysqldump
mit der --no-data
Option verwenden:
mysqldump -u user -h localhost --no-data -p database > database.sql
Mit der --no-data
Option können Sie auch eine einzelne Tabelle extrahieren
mysqldump -u user -h localhost --no-data -p database tablename > table.sql
Sie können die Option -d mit dem Befehl mysqldump verwenden
mysqldump -u root -p -d databasename > database.sql
Beachten Sie jedoch, dass die Option --no-data die Ansichtsdefinition nicht enthält. Wenn Sie also eine Ansicht wie die folgende haben, wählen Sie Ansicht v1 a
. id
AS id
,
a
. created_date
AS created_date
von t1; Mit der Option --no-data wird die Ansichtsdefinition in die folgende Ansicht geändert: v1 erstellen, 1 AS id
, 1 AS auswählencreated_date
Sie können das kostenlose MYSQL Administrator Tool verwenden: http://dev.mysql.com/downloads/gui-tools/5.0.html
Sie finden viele Optionen zum Exportieren Ihrer MYSQL-Datenbank
Wenn Sie IntelliJ verwenden, können Sie die Datenbankansicht aktivieren (Ansicht -> Werkzeugfenster -> Datenbank).
Stellen Sie in dieser Ansicht eine Verbindung zu Ihrer Datenbank her. Dann können Sie mit der rechten Maustaste auf die Datenbank klicken und "DDL kopieren" auswählen. Andere IDEs bieten möglicherweise eine ähnliche Funktion.
Wenn Sie alle Tabellen aus allen Datenbanken und ohne Daten (nur Datenbank- und Tabellenstrukturen) sichern möchten, können Sie Folgendes verwenden:
mysqldump -P port -h hostname_or_ip -u username -p --no-data --all-databases > db_backup.sql
Dadurch wird eine SQL-Datei erstellt, die Sie auf einen MySQL-Server laden können, um eine neue Datenbank zu erstellen. Anwendungsfälle hierfür gibt es in einer Produktionsumgebung nicht viele, aber ich mache dies wöchentlich, um Server zurückzusetzen, die mit Demo-Websites verknüpft sind. Was auch immer die Benutzer während der Woche tun, an Sonntagabenden wird alles auf "neu" zurückgesetzt: )
shell> mysqldump --no-data --routines --events test> dump-defs.sql
mysqldump
ist die beste Antwort. MySQL Administrator wird aufgegeben und MySQL Workbench ist immer noch ziemlich fehlerhaft.