我使用mysqlpump备份数据库:
mysqlpump --single-transaction --add-drop-database --skip-definer --databases mydatabase --result-file /opt/myservice/backup/export.sql
我的数据库包含几个视图,并且其中的一部分在CREATE VIEW查询中以完全不正确的SELECT导出,就像这样:
CREATE VIEW `careerpulse-staging`.`user_view` AS SELECT
1 AS `id`,
1 AS `name`,
1 AS `department`,
1 AS `manager_id`
;
为什么会发生,我该如何解决?
MySQL版本是5.7
答案 0 :(得分:0)
这是预期的行为,而不是错误。查看 complete 转储文件。
除非其他视图或表已经存在,否则无法创建引用其他视图或表的视图。
为消除潜在的循环依赖关系,将在第一遍创建虚拟视图,并在创建所有视图和表之后,删除这些虚拟视图,并在第二遍创建真实视图。
正确的视图定义应该在转储文件的末尾找到。