データベースをバックアップするために--add-drop-tableオプションが表示されることがCodexでわかりました。私が何かを台無しにする前に、これはバックアップが結局インポートされるとき、それらがデスティネーション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
作成されたファイル内のMySQLダンプの出力にのみ影響します。
必要ではありません。作成されたダンプファイルを、同じ名前のテーブルがすでに存在するデータベースにインポートすると、そのテーブルが削除され、その場所に新しいテーブルが追加されます。そうでなければエラーになり、ダンプファイルはインポートされません。
ダンプファイルのcreate table文の前に次の行を追加します。
DROP TABLE IF EXISTS `tablename`;
ダンプファイルを新しいデータベースにインポートする予定であれば、問題ありません。
これは、 全体の構文 が次のようになるためです。
mysql>mysqldump --opt --all-databses > all.sql
MySQLのドキュメントで説明されているように、--opt
はデフォルトで有効になっています(つまり--add-drop-table
)。
この構文で--add-drop-tableを削除すると、 - optがデフォルトになり(--skip-optを使用しない限り)、 - optに--add-dropが含まれるため、 - add-drop-tableが使用されます。 -表。ここを参照してください: https://dev.mysql.com/doc/refman/5.6/en/mysqldump.html#option_mysqldump_opt
また、前述のように、バックアップ時にテーブルが削除されるわけではありませんが、テーブルを削除するためのコマンドがsqlファイルに含まれているため、ダンプを作成する必要はありません。テーブルがすでに存在しているというエラー.