如何备份表而不是视图

时间:2014-03-12 15:56:42

标签: mysql mysqldump

使用mysqldump我可以备份我的数据库。但我的数据库有很多视图,有大量的数据,我不需要。我只想用数据备份真实的表。

目前我在做:

mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql

有没有办法只备份没有视图的真实表?

1 个答案:

答案 0 :(得分:1)

视图不会在MySQL中存储任何数据。视图就像存储的查询,而不是存储的数据。视图没有内容,并且它不会增加备份的大小,而不会增加视图的定义的大小。也就是说,CREATE OR REPLACE VIEW语句是唯一以与该视图相关的mysqldump输出结束的语句。

但要回答你的问题:不,没有特定的选项可以排除所有观点。

您可以使用--ignore-table=db.table选项排除单个名称(无论是表格还是视图)。但是你必须单独列出每个视图。

另一个选择是mysqldump与缺少SHOW VIEW权限的用户。这将从备份中排除视图,但会生成错误。如果您使用--force选项,则可以跳过错误并继续备份。