Dmi*_*lov 5 mysqldump mysql-5.7
我使用 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`
;
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况?我该如何解决?
小智 5
当转储/泵送 MySQL 数据库时,输出脚本首先将其生成为临时结构,然后在脚本末尾,它会删除它并创建实际的视图本身,如下所示:
...DROP VIEW IF EXISTS myview ...
如果最终视图仍然选择 1s,可能是因为数据库名称不匹配,当您在 mysqldump 中使用 --databases 选项时,脚本将输出
USE database_name
在多个位置(不仅在脚本的顶部),特别是在 DROP 和重新创建实际视图之前有一个。
当我导出和导入具有不同名称的数据库时,就发生了这种情况。
| 归档时间: |
|
| 查看次数: |
2129 次 |
| 最近记录: |