仅备份 MySQL 数据库的一些表结构

仅备份 MySQL 数据库的一些表结构

我们有一个 MySQL 数据库,其中有一堆正在迁移的表。

有些表包含大量对我们来说没用的历史数据,为了减少转储和恢复数据所需的时间,我们希望指定某些表仅转储结构/模式,同时确保其他表包含数据。

我还没有找到使用 mysqldump 或 xtrabackup 来执行此操作的方法。

有人能指点一下吗?

答案1

您可以使用--ignore-table排除特定表。在这种情况下,创建两个转储是有意义的:一个用于数据库结构,一个用于数据本身,并将后者附加到第一个转储。

# dump db structure
mysqldump -h host -u user -p --no-data db_test > db_test.sql

# append db data (without `CREATE TABLE` statements)
mysqldump -h host -u user -p --no-create-info \
  --ignore-table=db_test.table1 \
  --ignore-table=db_test.table2 db_test >> db_test.sql

相关内容