Mysqldump bırak tablo eklemek?


10

Codex içinde --add-drop-table seçeneğinin bir veritabanını yedeklemek için görüntülendiğini fark ettim. Bir şey berbat etmeden önce, bu sadece yedekleme sonunda içe aktarıldığında, hedef db'de varsa tabloların üzerine yazılacağı anlamına mı geliyor?

Onları yedeklediğimde masaları bırakmak istemiyorum!

user@linux:~/files/blog> mysqldump --add-drop-table -h mysqlhostserver
 -u mysqlusername -p databasename (tablename tablename tablename) | bzip2
 -c > blog.bak.sql.bz2

Enter password: (enter your mysql password)
user@linux~/files/blog>

http://codex.wordpress.org/Backing_Up_Your_Database#Using_Straight_MySQL_Commands

Yanıtlar:


10

Yalnızca oluşturulan dosyadaki MySQL dökümünüzün çıktısını etkiler.

Gerekli değil. Oluşturulan döküm dosyasını zaten aynı ada sahip bir tabloya sahip bir veritabanına içe aktarırsanız, o tabloyu bırakır ve yeni tabloyu yerine ekler. Aksi takdirde bir hata alırsınız ve döküm dosyası içe aktarılmaz.

Bu satırı döküm dosyasında tablo oluştur ifadesinden önce ekler:

DROP TABLE IF EXISTS `tablename`;

Döküm dosyasını yeni bir veritabanına aktarmayı planlıyorsanız, önemli değil.


İlginç olan şey, dökümü varolan bir WP veritabanında add-drop-table seçeneği olmadan kullansam bile, iyi çalıştığıdır.
AlxVallejo

5

Çünkü genel sözdizimi şuna benzer:

mysql>mysqldump --opt --all-databses > all.sql

--opt--add-drop-tableMySQL belgelerinde belirtildiği gibi varsayılan olarak etkindir (ima eder :).


0

Bu sözdiziminde --add-drop-table kaldırılırken, --add-drop-table zaten kullanılır, çünkü --opt varsayılan (--skip-opt kullanmıyorsanız) ve --opt --add-drop içerir masaları. Buraya bakın: https://dev.mysql.com/doc/refman/5.6/en/mysqldump.html#option_mysqldump_opt

Ve yukarıda belirtildiği gibi, yedeklediğinizde tablolarınızın bırakıldığı anlamına gelmez, ancak tabloları bırakma komutlarının sql dosyasına dahil edildiği anlamına gelir, çünkü bir dökümü için istediğiniz budur, böylece dökümü almadan alabilirsiniz tabloların zaten var olduğu hatalar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.