当我使用mysqldump并重新导入转储时,视图变为空表。
是否可以
a)转储然后导入视图而不将它们变成空表?
或者,如果不可能,
b)使用通配符从mysqldump中排除视图,例如
mysqldump mydb --ignore-table=*views > mydb.sql
如果所有视图的名称都以字符串“views”结尾,那么排除所有视图? (此部分之前已被问过,但仍未得到答复:Ignore 'views' in mysql db backup using mysqldump)
答案 0 :(得分:1)
使用--compact --add-drop-table
,然后手动调整转储文件。
详细说明:
--compact
产生更紧凑的输出。此选项启用--skip-add-drop-table, --skip-add-locks, --skip-comments, --skip-disable-keys, and --skip-set-charset
选项
注意:
在MySQL 5.1.21之前,如果数据库转储包含视图,则此选项不会创建有效的SQL。重新创建视图需要创建和删除临时表,此选项禁止删除这些临时表。要解决此问题,请使用--compact with --add-drop-table选项,然后手动调整转储文件。