Mysqldump додати краплю таблиці?


10

Я помічаю в Codex, що параметр --add-drop-table відображається для резервного копіювання бази даних. Перш ніж я щось накручую, чи це просто означає, що коли з часом імпортується резервна копія, таблиці будуть перезаписані, якщо вони існують у db призначення?

Я не хочу скидати таблиці, коли я їх створюю!

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

Відповіді:


10

Це впливає лише на вихід вашого дампа MySQL у створений файл.

Це не обов'язково. Це просто так, що якщо ви імпортуєте створений файл дампа в базу даних, у якій вже є однакова таблиця, він видалить цю таблицю, а потім додасть нову таблицю на своє місце. Інакше ви отримаєте помилку, і дамп-файл не буде імпортований.

Він додає цей рядок перед створенням оператора таблиці у файлі дампа:

DROP TABLE IF EXISTS `tablename`;

Якщо ви плануєте імпортувати дамп-файл у свіжу базу даних, це не має значення.


Ви знаєте, що цікаво, це те, що навіть якщо я використовую дамп без опції таблиці таблиць додавання для існуючої бази даних WP, він також добре працює.
AlxVallejo


0

При видаленні --add-drop-таблиці в цьому синтаксисі - -add-drop-таблиця використовується в будь-якому випадку, оскільки --opt є типовим (якщо ви не використовуєте --skip-opt), а --opt включає --add-drop -таблиця. Дивіться тут: https://dev.mysql.com/doc/refman/5.6/uk/mysqldump.html#option_mysqldump_opt

І, як зазначено вище, це не означає, що ваші таблиці скидаються під час резервного копіювання, але що команди для випадання таблиць включаються у файл sql, тому що саме цього ви хочете для дампа, тому ви можете імпортувати дамп, не отримуючи помилки, що таблиці вже є.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.