SORU
8 Ocak 2009, PERŞEMBE


Mysqldump ile bazı tablolar geçin

Bir şekilde mysqldump komutu belirli tablolar kısıtlama var mı?

Örneğin, aşağıdaki sözdizimi dökümü için kullanmak istiyorumsadecetablo1 ve tablo2:

mysqldump -u username -p database table1 table2 > database.sql

Ama tüm tabloları dökümü benzer bir yoldurhariçtablo1 ve tablo2? Mysqldump belgelerinde bir şey bulamadım, bu yüzden kaba kuvvet (tüm tablo isimlerini belirterek) gitmek için tek yol?

CEVAP
8 Ocak 2009, PERŞEMBE


--ignore-table seçeneğini kullanabilirsiniz. Yapabileceğin bu kadar

mysqldump -u username -p database --ignore-table=database.table1 > database.sql

Eğer birden fazla tabloyu göz ardı etmek istiyorsanız, bu gibi basit bir komut dosyası kullanabilirsiniz

#!/bin/bash
PASSWORD=XXXXXX
HOST=XXXXXX
USER=XXXXXX
DATABASE=databasename
DB_FILE=dump.sql
EXCLUDED_TABLES=(
table1
table2
table3
table4
tableN   
)

IGNORED_TABLES_STRING=''
for TABLE in "${EXCLUDED_TABLES[@]}"
do :
   IGNORED_TABLES_STRING =" --ignore-table=${DATABASE}.${TABLE}"
done

echo "Dump structure"
mysqldump --host=${HOST} --user=${USER} --password=${PASSWORD} --single-transaction --no-data ${DATABASE} > ${DB_FILE}

echo "Dump content"
mysqldump --host=${HOST} --user=${USER} --password=${PASSWORD} ${DATABASE} ${IGNORED_TABLES_STRING} >> ${DB_FILE}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • chickenby

    chickenby

    2 HAZİRAN 2008
  • hans peder sahl

    hans peder s

    22 Temmuz 2009
  • Justin Case

    Justin Case

    3 EKİM 2011