在GCP和阿里云的RDS MYSQL 由于权限不够 需要super privillege恢复时总是出错,而且你是没有super的权限的,
现在说一下怎样解决
我的报错是这个
Import error: exit status 1 ERROR 1227 (42000) at line 10871: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
由于出错的是 10871 行
linux下要看这行是什么问题
用这个命令
$ sed -n -e 10870p -e 10871p -e 10872p -e 10873p example.sql
然后是列出前后几行给我看的
然后我发现
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
这个可能需要root权限或者super 权限,于是将这个需要权限的语句去掉
$ cat example.sql | sed -e 's/DEFINER=`root`@`localhost`//g' > example-CLEANED.sql
然后上传这个sql语句到云端
$ gsutil cp example-CLEANED.sql gs://myexamplefolder/
然后在mysql那导入恢复这份sql就成功了