2012-06-21 10 views
7

私は定期的にDrupalのデータベースと人に対してmysqldumpを実行しています。これらのキャッシュテーブルは巨大になります。データをリロードした後の最初のことがキャッシュをクリアしていることを考えれば、それらの行をすべてダンプするだけで済むと思います。私はテーブルの作成を(--ignore-tablesで)スキップしたくないので、キャッシュされたデータのすべての行をスキップしたいだけです。mysqldumpを特定のテーブルの挿入をスキップさせることはできますか?

mysqldumpCREATE TABLEステートメントをダンプするように指示することはできますか?特定のテーブルセットのINSERTステートメントをスキップしますか?

答えて

7

これを行う--no-dataオプションがありますが、すべてのテーブルAFAIKに影響します。したがって、mysqldumpを2回実行する必要があります。

# Dump all but your_special_tbl 
mysqldump --ignore-table=db_name.your_special_tbl db_name > dump.sql 

# Dump your_special_tbl without INSERT statements. 
mysqldump --no-data db_name your_special_tbl >> dump.sql 
関連する問題