680 Stimmen

MySql-Exportschema ohne Daten

Ich verwende eine MySql-Datenbank mit einem Java-Programm und möchte das Programm nun an jemand anderen weitergeben.

Wie exportiert man die Struktur der MySql-Datenbank ohne die darin enthaltenen Daten, sondern nur die Struktur?

1voto

Phoenix Punkte 1432

Sie können wie folgt vorgehen

mysqldump -d <database name> > <filename.sql> // -d : without data

Hoffentlich hilft es Ihnen

1voto

user13012757 Punkte 11

Shell> mysqldump --no-data --routines --events test > dump-defs.sql

1voto

TanvirChowdhury Punkte 2254

Mit mysql-backup4j seine ganz einfach zu sichern jede Datenbank mit wenigen Zeilen code.this wird die Sql-Dump für die Datenbank, die später verwendet werden können, um Datenbank leicht wiederherstellen zu generieren.

Die dafür erforderliche Maven-Abhängigkeit ist :

 <dependency>
        <groupId>com.smattme</groupId>
        <artifactId>mysql-backup4j</artifactId>
        <version>1.0.1</version>
    </dependency>

Und hier die Implementierung in Java Sie können mit den coolen Parametersätzen spielen

/**
 * Creator : Tanvir Chowdhury
 * Date    : 2021-11-15
 */
public class BackupDatabase {
    public static void main(String[] args) throws Exception {

        Properties properties = new Properties();
        properties.setProperty(MysqlExportService.DB_NAME, "hcs_test_db");
        properties.setProperty(MysqlExportService.DB_USERNAME, "root");
        properties.setProperty(MysqlExportService.DB_PASSWORD, "root");
        properties.setProperty(MysqlExportService.DELETE_EXISTING_DATA, "true");
        properties.setProperty(MysqlExportService.DROP_TABLES, "true");
        properties.setProperty(MysqlExportService.ADD_IF_NOT_EXISTS, "true");
        properties.setProperty(MysqlExportService.JDBC_DRIVER_NAME, "com.mysql.cj.jdbc.Driver");
        properties.setProperty(MysqlExportService.JDBC_CONNECTION_STRING, "jdbc:mysql://localhost:3306/hcs_test_db");

        properties.setProperty(MysqlExportService.TEMP_DIR, new File("/Users/tanvir/Desktop/backups/backup.sql").toString());
        properties.setProperty(MysqlExportService.PRESERVE_GENERATED_ZIP, "true");

        MysqlExportService mysqlExportService = new MysqlExportService(properties);
        mysqlExportService.export();

    }
}

Bei Bedarf können Sie auch ganz einfach die E-Mail-Versandoptionen nutzen, um die Sicherungsdatei an eine beliebige E-Mail-Adresse zu senden.

Oder Sie können mit der Option --no-data mit dem Befehl mysqldump tun. wenn Sie dies von Java aus tun möchten, dann übergeben Sie diesen Befehl an die Laufzeitmethode exec() als Parameter.

mysqldump -u root -h localhost --no-data -proot hcs_db_one?useSSL=false > db_one_dump.sql

0voto

mias Punkte 17

Um das Erstellungsskript für eine einzelne Tabelle zu erhalten:
- die gesamte Tabelle auswählen (mit Umschalttaste)
- Klicken Sie einfach mit der rechten Maustaste auf den Tabellennamen und klicken Sie auf In Zwischenablage kopieren > Anweisung erstellen.

0voto

Austyn Wilson Punkte 47

Von phpmyadmin aus können Sie Folgendes tun:

  1. Exportieren
  2. Exportmethode: Benutzerdefiniert - alle möglichen Optionen anzeigen
  3. Formatspezifische Optionen: Struktur NICHT Struktur und Daten

Um die gesamte Datenbank zu exportieren:

enter image description here

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X