拒绝访问;您需要(至少其中之一)此操作的 SUPER 权限

2023-06-24数据库问题
74

本文介绍了拒绝访问;您需要(至少其中之一)此操作的 SUPER 权限的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

所以我尝试将 sql 文件导入 rds(1G MEM,1 CPU).sql文件好像是1.4G

So I try to import sql file into rds (1G MEM, 1 CPU). The sql file is like 1.4G

mysql -h xxxx.rds.amazonaws.com -u user -ppass --max-allowed-packet=33554432 db <数据库.sql

mysql -h xxxx.rds.amazonaws.com -u user -ppass --max-allowed-packet=33554432 db < db.sql

它卡在:

ERROR 1227 (42000) at line 374: Access denied; you need (at least one of) the SUPER privilege(s) for this operation

实际的sql内容为:

/*!50003 CREATE*/ /*!50017 DEFINER=`another_user`@`1.2.3.4`*/ /*!50003 TRIGGER `change_log_BINS` BEFORE INSERT ON `change_log` FOR EACH ROW
IF (NEW.created_at IS NULL OR NEW.created_at = '00-00-00 00:00:00' OR NEW.created_at = '') THEN
        SET NEW.created_at = NOW();
END IF */;;

another_user 在 rds 中不存在,所以我这样做:

another_user is not existed in rds, so I do:

GRANT ALL PRIVILEGES ON db.* TO another_user@'localhost';

仍然没有运气.

推荐答案

从 sqldump 文件中删除 DEFINER=.. 语句,或用 CURRENT_USER 替换用户值>.

Either remove the DEFINER=.. statement from your sqldump file, or replace the user values with CURRENT_USER.

RDS 提供的 MySQL 服务器不允许其他用户使用 DEFINER 语法(以我的经验).

The MySQL server provided by RDS does not allow a DEFINER syntax for another user (in my experience).

您可以使用 sed 脚本将它们从文件中删除:

You can use a sed script to remove them from the file:

sed 's/sDEFINER=`[^`]*`@`[^`]*`//g' -i oldfile.sql

这篇关于拒绝访问;您需要(至少其中之一)此操作的 SUPER 权限的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

Mysql目录里的ibtmp1文件过大造成磁盘占满的解决办法
ibtmp1是非压缩的innodb临时表的独立表空间,通过innodb_temp_data_file_path参数指定文件的路径,文件名和大小,默认配置为ibtmp1:12M:autoextend,也就是说在文件系统磁盘足够的情况下,这个文件大小是可以无限增长的。 为了避免ibtmp1文件无止境的暴涨导致...
2025-01-02 数据库问题
151

SQL 子句“GROUP BY 1"是什么意思?意思是?
What does SQL clause quot;GROUP BY 1quot; mean?(SQL 子句“GROUP BY 1是什么意思?意思是?)...
2024-04-16 数据库问题
62

MySQL groupwise MAX() 返回意外结果
MySQL groupwise MAX() returns unexpected results(MySQL groupwise MAX() 返回意外结果)...
2024-04-16 数据库问题
13

MySQL SELECT 按组最频繁
MySQL SELECT most frequent by group(MySQL SELECT 按组最频繁)...
2024-04-16 数据库问题
16

为什么 Mysql 的 Group By 和 Oracle 的 Group by 行为不同
Why Mysql#39;s Group By and Oracle#39;s Group by behaviours are different(为什么 Mysql 的 Group By 和 Oracle 的 Group by 行为不同)...
2024-04-16 数据库问题
13

MySQL GROUP BY DateTime +/- 3 秒
MySQL GROUP BY DateTime +/- 3 seconds(MySQL GROUP BY DateTime +/- 3 秒)...
2024-04-16 数据库问题
14