没有“CREATE ALGORITHM”和“DEFINER”的mysqldump

13

在我的数据库备份和导出中,我得到类似以下的内容:

/*!50001 DROP TABLE `vTime`*/;
/*!50001 DROP VIEW IF EXISTS `vTime`*/;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`db_user`@`%` SQL SECURITY DEFINER */
/*!50001 VIEW `vTime` AS select ... */;
  1. 在恢复时,"CREATE ALGORITHM" 和 "DEFINER" 部分失败导致问题。 是否有办法使 mysqldump 仅执行简单的 CREATE VIEW?

  2. 附加问题: /*!50001 部分的含义是什么?

编辑: 我应该补充一下我收到的错误信息:

#1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation

编辑2: 看起来只有 /*!50013 DEFINER= 部分失败了。

2个回答

4

2
这个sed命令应该可以用于从mysqldump中删除这两个子句 -
sed -e 's|^/[*]!50001 CREATE ALGORITHM=UNDEFINED [*]/|/*!50001 CREATE */|' -e '/^[/][*]!50013 DEFINER=/d'

其中50001和50013分别是如上所述的版本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接