视图没有被mysqldump转储

时间:2012-02-29 00:31:34

标签: mysql views mysqldump

我希望mysqldump转储视图。我正在从PHP运行以下mysqldump命令:

mysqldump -h127.0.0.1 -uroot -proot --database main -R --extended-insert=FALSE --complete-insert=TRUE

它似乎没有转储视图(我使用创建视图创建的视图)。我怎样才能将它转换为视图和表格?

2 个答案:

答案 0 :(得分:2)

根据this,您可能会遇到视图问题,因为您没有数据库的显式SHOW VIEW权限。

“该问题的解决方法是管理员手动将SHOW VIEW权限授予授予CREATE VIEW的用户,因为MySQL在创建视图时不会隐式授予它。”

在所有其他情况下,视图应该在生成的转储文件中...虽然有点奇怪......它首先为视图创建临时表结构,然后创建视图本身。这是因为可以在视图上创建视图...而对于mysqldump,无法知道发生的顺序,因此它会创建临时表,以避免在执行dumpfile以恢复数据库时出错。

答案 1 :(得分:0)

这对我有用

mysqldump --skip-comments --skip-opt --complete-insert --add-drop-table --database dbname -p