是否可以使用 mysqldump 转储和导入视图?
Posted
技术标签:
【中文标题】是否可以使用 mysqldump 转储和导入视图?【英文标题】:Is it possible to dump and import views using mysqldump? 【发布时间】:2012-04-12 02:12:44 【问题描述】:当我使用 mysqldump 并重新导入转储时,视图变为空表。
有没有可能
a) 转储然后导入视图而不将它们变成空表?
或者,如果a不可能,
b) 使用通配符从 mysqldump 中排除视图,例如
mysqldump mydb --ignore-table=*views > mydb.sql
排除所有视图,如果所有视图的名称都以字符串“views”结尾? (这部分之前已被询问但仍未得到答复:Ignore 'views' in mysql db backup using mysqldump)
【问题讨论】:
【参考方案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 选项一起使用,然后手动调整转储文件。
【讨论】:
谢谢。现在我只需要说服管理员从 5.0.77 更新 “手动调整转储文件”是什么意思?在 5.1.21 之前或之后需要做什么以及它有什么不同? 能否请您解释一下手动调整转储文件是什么意思?以上是关于是否可以使用 mysqldump 转储和导入视图?的主要内容,如果未能解决你的问题,请参考以下文章