环境: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能否可靠地恢复包含视图的备份?如果可以,怎么样?如果没有,人们做什么作为解决方法?
谢谢,
里斯