我使用mysqlpump备份数据库:
mysqlpump --single-transaction --add-drop-database --skip-definer \ --databases mydatabase --result-file /opt/myservice/backup/export.sql
我的DB包含几个视图,其中一些视图在CREATE查询中使用完全不正确的选择导出,如下所示:
CREATE VIEW `careerpulse-staging`.`user_view` AS SELECT
1 AS `id`,
1 AS `name`,
1 AS `department`,
1 AS `manager_id`
;为什么会发生这种事,我怎么才能解决呢?
发布于 2018-11-21 11:56:05
当转储/抽水MySQL数据库时,输出脚本首先将其作为临时结构生成,然后在脚本末尾的下面将其删除,并创建实际视图本身,如下所示:
...DROP VIEW IF EXISTS myview ...
如果最后的视图仍然选择1,这可能是因为数据库名称不匹配,当您在mysqldump中使用-- database选项时,脚本将输出。
USE database_name
在多个地方(不仅在脚本顶部),特别是在删除和重新创建实际视图之前有一个位置。
这种情况发生在我导出和导入不同名称的数据库时。
https://dba.stackexchange.com/questions/210423
复制相似问题