MySQL权限错误

最近捣腾数据库到rds上,为了捣腾方便,云上数据库都是高等级权限。导着导着居然有个数据库报错了。

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

这是SQL里要干嘛啊,查了一下捣腾的sql文件,发现这里居然有个视图建立。

1
2
3
4
5
6
7
8
9
10
/*!50001 SET @saved_col_connection     = @@collation_connection */;
/*!50001 SET character_set_client = utf8 */;
/*!50001 SET character_set_results = utf8 */;
/*!50001 SET collation_connection = utf8_general_ci */;
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`ABCUSER`@`%` SQL SECURITY DEFINER */
/*!50001 VIEW `abc` AS (select `t0`.`RECORDTYPE` AS `recordtype` from `datatable` `t0`) */;
/*!50001 SET character_set_client = @saved_cs_client */;
/*!50001 SET character_set_results = @saved_cs_results */;
/*!50001 SET collation_connection = @saved_col_connection */;

这里会定义一个用户,但是因为这个用户名不是我原先创建的那个高等级账号的用户名,所以需要创建,但是云上就受人管控不让你创建了。所以快速的办法就把DEFINER定义的用户名改成你创建的高等级账号用户名就好了。