2010-09-16 9 views
6

Je veux vider la base de données mysql seulement les tables qui ont des données, pouvez-vous s'il vous plaît me donner votre suggestion. cela est plus utileComment faire pour vider la base de données mysql?

Merci & Cordialement, Vara Kumar.PJD

+0

Si les tables ne contiennent pas de données, il ne sera pas grand chose à ajouter la sauvegarde Taille. Pourquoi voulez-vous sauter des tables vides? – Jayan

+0

il y a beaucoup de tables, je ne veux pas exécuter des requêtes de tables vides lors de l'importation de db. cela entraînera des problèmes de données. –

+0

Mon exigence est de supprimer des tables et d'insérer des données dans ces tables à partir du fichier de base de données sauvegardé. ce fichier contient des tables avec des données et crée des instructions d'ajout et de suppression. –

Répondre

2

Vous pouvez utiliser l'option --ignore-table, mais vous devez savoir quelles tables sont vides d'abord comme ce n'est pas directement possible avec mysqldump. Ainsi, vous pouvez faire

mysqldump -u username -p database --ignore-table=database.table1 --ignore-table=database.table2 > database.sql 
1
mysqldump <database options> table1 table2 table3 ... 
+0

il y a beaucoup de tables, il est difficile d'écrire chacune d'elles. existe-t-il une option qui peut vider la table avec des données ainsi que créer, ajouter-déposer des déclarations –

0

Utilisez mysqldump (documentation located here). Si vous n'indiquez pas de tables, il suppose toutes les tables. Vous pouvez également choisir explicitement des tables à copier ou à ignorer. Vous pouvez lui indiquer de créer des instructions de baisse avant vos instructions de création. Si vous avez mysql 5.1.2 alors vous pouvez le dire pour copier des routines.

0

Lorsque vous videz toutes les bases de données. De toute évidence, c'est avoir de grandes données. Ainsi, vous pouvez préférer ci-dessous pour mieux:

Création de sauvegarde:

mysqldump -u [user] -p[password]--single-transaction --quick --all-databases | gzip > alldb.sql.gz 

Si l'erreur

- Attention: les données de Skipping tableau mysql.event. Spécifiez l'option --events explicitement.

Utilisation:

mysqldump -u [user] -p --events --single-transaction --quick --all-databases | gzip > alldb.sql.gz 

Restauration de sauvegarde:

gunzip < alldb.sql.gz | mysql -u [user] -p[password] 

espère que cela aidera :)

Questions connexes