我希望mysqldump转储视图。我正在从PHP运行以下mysqldump命令:
mysqldump -h127.0.0.1 -uroot -proot --database main -R --extended-insert=FALSE --complete-insert=TRUE
它似乎没有转储视图(我使用创建视图创建的视图)。我怎样才能将它转换为视图和表格?
答案 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