【发布时间】:2011-12-08 07:52:07
【问题描述】:
环境:Ubuntu 11.10、MySQL 5.1.58
我有一个带有视图的小型数据库。当我尝试转储和恢复时,我得到了
ERROR 1356 (HY000) at line 1693: View 'curation2.condition_reference_qrm_v' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
但是,我可以连接到部分恢复的数据库并自己创建视图。因此,我怀疑错误消息是由与视图本身无关的问题引起的(可能是它的恢复方式)。
这是我用来演示问题的简单方法:
MYSQL_PWD='xxx' mysqldump -u root --routines -B curation \
| perl -pe 's/`curation`/`curation2`/' \
| MYSQL_PWD='xxx' mysql -u root
网上还有很多其他类似问题的报告。 mysqldump 手册页有一个关于备份视图错误的神秘注释,但它是作为历史问题而不是当前问题编写的。
所以,问题是:MySQL 能否可靠地恢复包含视图的备份?如果可以,怎么做?如果没有,人们会怎么做?
谢谢, 里斯
【问题讨论】:
标签: mysql mysqldump mysql-management