2011-01-28 20 views
9

Kayıt için veritabanını kullanan bir veritabanının düzenli bir dökümünü yapıyorum. Veritabanından her şeyi dökülen, ancak günlük tablolarının satır bilgilerini dışlayan bir mysqldump komutu oluşturmam gerekiyor.Belirli tablolar için verileri nasıl hariç tutabilirim ama yapı mysqldump ile nasıl saklanabilir?

the no-data parameter'u görüyorum, ancak yalnızca belirli tabloları seçmeyi desteklemiyor gibi görünüyor.

+0

daha iyi yardımcı olmak için kabuk komut dosyası ile birleştirebilirsiniz sadece masa tanım dökümü, birinin tam dökümü isteyen tüm tabloları listelemek? – ajreal

+1

@ajreal Linux. Önemi var? – mattalxndr

cevap

8

2 komutunu çalıştırın. Bir yerde size

#structure only 
mysqldump -d -q mydb table1 table2 table3 

#all data too 
mysqldump -q mydb table4 table5 table6 
7

Eğer linux veya pencerelerde

#/bin/bash 

# dump all except for table log 
tables=$(mysql -N <<< "show tables from your_db" | grep -Ev "^log$" | xargs); 
mysqldump your_db $tables > backup.sql 

# dump structure for table log 
mysqldump -d your_db log >> backup.sql