J'utilise une base de données MySql avec un programme Java, maintenant je veux donner le programme à quelqu'un d'autre.
Comment exporter la structure de la base de données MySql sans les données qu'elle contient, juste la structure?
J'utilise une base de données MySql avec un programme Java, maintenant je veux donner le programme à quelqu'un d'autre.
Comment exporter la structure de la base de données MySql sans les données qu'elle contient, juste la structure?
Réponses:
Vous pouvez le faire avec l' --no-data
option avec la commande mysqldump
mysqldump -u root -p --no-data dbname > schema.sql
--single-transaction
option si vous ne voulez pas ou ne pouvez pas faire de verrous de table.
CREATE DATABASE
commande. Pour inclure, remplacez dbname
par --databases dbname
(raccourci:) -B dbname
. Ensuite, pour importer sur un autre serveur, utilisezmysql -u root -p < schema.sql
Oui, vous pouvez utiliser mysqldump
l' --no-data
option:
mysqldump -u user -h localhost --no-data -p database > database.sql
vous pouvez également extraire une table individuelle avec l' --no-data
option
mysqldump -u user -h localhost --no-data -p database tablename > table.sql
Vous pouvez utiliser l'option -d avec la commande mysqldump
mysqldump -u root -p -d databasename > database.sql
Attention cependant, l'option --no-data n'inclura pas la définition de la vue. Donc, si vous aviez une vue comme la création suivante, sélectionnez la vue v1 a
. id
AS id
,
a
. created_date
AS à created_date
partir de t1; avec l'option --no-data, la définition de la vue sera remplacée par la création suivante de la vue v1 sélectionnez 1 AS id
, 1 AScreated_date
Vous pouvez utiliser MYSQL Administrator Tool gratuitement http://dev.mysql.com/downloads/gui-tools/5.0.html
vous trouverez de nombreuses options pour exporter votre base de données MYSQL
Si vous utilisez IntelliJ, vous pouvez activer la vue Base de données (Affichage -> Fenêtre Outils -> Base de données)
Dans cette vue, connectez-vous à votre base de données. Ensuite, vous pouvez cliquer avec le bouton droit sur la base de données et sélectionner "Copier DDL". D'autres IDE peuvent offrir une fonction similaire.
Si vous souhaitez vider toutes les tables de toutes les bases de données et sans données (uniquement les structures de base de données et de table), vous pouvez utiliser:
mysqldump -P port -h hostname_or_ip -u username -p --no-data --all-databases > db_backup.sql
Cela produira un fichier .sql que vous pourrez charger sur un serveur mysql pour créer une nouvelle base de données. Les cas d'utilisation pour cela ne sont pas nombreux dans un environnement de production, mais je le fais chaque semaine pour réinitialiser les serveurs qui sont liés aux sites de démonstration, donc quoi que les utilisateurs fassent pendant la semaine, le dimanche soir, tout revient à "nouveau": )
shell> mysqldump --no-data --routines --events test> dump-defs.sql
mysqldump
est la meilleure réponse. L'administrateur MySQL est abandonné et MySQL Workbench est encore assez bogué.