返回首页
当前位置: 主页 > 精通Office > Ubuntu教程 >

RDS导入表结构报1227及1725权限问题解决

时间:2017-07-14 21:40来源:知行网www.zhixing123.cn 编辑:麦田守望者

采用的是RDS导入原先从自有机器中导出来的MYSQL表结构文件,结果在导入的过程中发现报错:
1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation


错误的原因是:
在RDS中导入的sql文件中含有需要 Supper 权限才可以执行的语句(如:DEFINER=`root`@`localhost`*),而 RDS实例中的 MySQL不提供 Super 权限,所以需要去除这类声明了需要super权限的语句。


在Linux中,可执行以下语句去除:
sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/ ' your.sql > your_revised.sql


而1725的报错也是类似,需检查去除类似于如下的代码:
SET @@GLOBAL.GTID_PURGED="xxxxxxx"


在Linux可使用如下语句去除:
awk '{ if (index($0,"GTID_PURGED")) { getline; while (length($0) > 0) { getline; } } else { print $0 } }' your.sql | grep -iv 'set @@' > your_revised.sql


除草完。

顶一下
(0)
0%
踩一下
(0)
0%
标签(Tag):RDS导入表结构
------分隔线----------------------------
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
猜你感兴趣