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-dataOption mit dem Befehl mysqldump arbeiten
mysqldump -u root -p --no-data dbname > schema.sql
--single-transactionSie diese Option auch, wenn Sie keine Tabellensperren durchführen möchten oder können.
CREATE DATABASEBefehl nicht enthalten . Enthalten, ersetzen dbnamemit --databases dbname(Stenografie: -B dbname). Um dann auf einen anderen Server zu importieren, verwenden Siemysql -u root -p < schema.sql
Ja, Sie können mysqldumpmit der --no-dataOption verwenden:
mysqldump -u user -h localhost --no-data -p database > database.sql
Mit der --no-dataOption 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. idAS id,
a. created_dateAS 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
mysqldumpist die beste Antwort. MySQL Administrator wird aufgegeben und MySQL Workbench ist immer noch ziemlich fehlerhaft.