怎样在阿里云的 RDS的 MYSQL或者 GCP的 MYSQL里恢复MYSQL 数据库

在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就成功了

posted on 2020-01-17 10:55  redmondfans  阅读(221)  评论(0编辑  收藏  举报