一、报错信息

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

二、报错原因

       #sql文件在导出的过程中会将存储过程、函数等导出到sql文件中,这类语句需要super权限执行

三、解决方案

       方法一:授权用户super权限
              update user set Super_priv='Y' where User='root';
              flush privileges
              #有的地方不支持授权super权限(比如腾讯云),所以可以用方法二

       方法二:去除需要super权限的语句

              awk '{ if (index($0,"GTID_PURGED")) { getline; while (length($0) > 0) { getline; } } else { print $0 } }' sorce.sql | grep -iv 'set @@' > your_revised.sql
              sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/ ' your_revised.sql > sorce.sql

    #sorce.sql,改成你原有的sql文件名字,your_revised.sql这个名字随意,就是一个过度

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐