3

当我使用 mysqldump 并重新导入转储时,视图变为空表。

是否有可能

a)转储然后导入视图而不将它们变成空表?

或者,如果 a 不可能,

b) 使用通配符从 mysqldump 中排除视图,例如

mysqldump mydb  --ignore-table=*views > mydb.sql

排除所有视图,如果所有视图的名称都以字符串“views”结尾?(这部分以前曾被问过,但仍未得到答复:使用 mysqldump 忽略 mysql db 备份中的“视图”

4

1 回答 1

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 与 --add-drop-table 选项一起使用,然后手动调整转储文件。

于 2012-04-12T02:26:29.840 回答