Sto usando un database MySql con un programma Java, ora voglio dare il programma a qualcun altro.
Come esportare la struttura del database MySql senza i dati in essa contenuti, solo la struttura?
Sto usando un database MySql con un programma Java, ora voglio dare il programma a qualcun altro.
Come esportare la struttura del database MySql senza i dati in essa contenuti, solo la struttura?
Risposte:
Puoi fare con l' --no-data
opzione con il comando mysqldump
mysqldump -u root -p --no-data dbname > schema.sql
--single-transaction
opzione se non vuoi o non puoi fare i blocchi della tabella.
CREATE DATABASE
comando. Per includere, sostituire dbname
con --databases dbname
(stenografia:) -B dbname
. Quindi per importare su un altro server, utilizzaremysql -u root -p < schema.sql
Sì, puoi usare mysqldump
con l' --no-data
opzione:
mysqldump -u user -h localhost --no-data -p database > database.sql
puoi anche estrarre una singola tabella con l' --no-data
opzione
mysqldump -u user -h localhost --no-data -p database tablename > table.sql
È possibile utilizzare l'opzione -d con il comando mysqldump
mysqldump -u root -p -d databasename > database.sql
Attenzione però che l'opzione --no-data non includerà la definizione della vista. Quindi se hai una vista come quella che segue crea la vista v1 seleziona a
. id
AS id
,
a
. created_date
AS created_date
da t1; con l'opzione --no-data, la definizione della vista verrà modificata in seguito alla vista di creazione v1 selezionare 1 AS id
, 1 AScreated_date
È possibile utilizzare MYSQL Administrator Tool gratuitamente http://dev.mysql.com/downloads/gui-tools/5.0.html
troverai molte opzioni per esportare il tuo DataBase MYSQL
Nel caso in cui si utilizzi IntelliJ, è possibile abilitare la vista Database (Visualizza -> Finestra Strumenti -> Database)
All'interno di quella vista connettiti al tuo database. Quindi è possibile fare clic con il pulsante destro del mouse sul database e selezionare "Copia DDL". Altri IDE possono offrire una funzione simile.
Se si desidera eseguire il dump di tutte le tabelle da tutti i database e senza dati (solo strutture di database e tabelle) è possibile utilizzare:
mysqldump -P port -h hostname_or_ip -u username -p --no-data --all-databases > db_backup.sql
Questo produrrà un file .sql che puoi caricare su un server mysql per creare un nuovo database. I casi d'uso per questo non sono molti in un ambiente di produzione, ma lo faccio su base settimanale per ripristinare i server collegati a siti Web dimostrativi, quindi qualunque cosa facciano gli utenti durante la settimana, la domenica tutto torna a "nuovo": )
shell> mysqldump --no-data --routines --events test> dump-defs.sql
mysqldump
è la risposta migliore. L'amministratore di MySQL viene abbandonato e MySQL Workbench è ancora piuttosto difettoso.