我正在使用mysqldump在特定机器上的帐户之间复制数据库。一切都很好,除了当我们到达我们定义的视图时。因为转储包含如下一行...
/*!50013 DEFINER=`user_a`@`localhost` SQL SECURITY DEFINER */
...当在 user_b 上将转储加载到 mysql 时,我们收到一个错误:
ERROR 1227 (42000) at line 657: Access denied; you need the SUPER privilege for this operation
不用说,我对这个 mysql 实例没有超级权限。有没有办法说服mysqldump以与用户无关的方式转储视图?关于这一点,我在手册中找不到任何内容。我是否必须实际解析转储文件来替换用户名?还是我错过了什么?