首页 > 技术文章 > ERROR 1419 (HY000) at line 9: You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)

mefj 2020-09-01 19:10 原文

报错原因

在将函数或触发器导入MySQL数据库时,会出现以下错误:“您没有SUPER特权,并且启用了二进制日志记录(您*可能*想要使用不太安全的log_bin_trust_function_creators变量)”。

解决方案

有几种解决方法:

  • 您需要为运行导入数据库的用户指定SUPER特权,并应用CREATE ROUTINEALTER ROUTINECREATE TRIGGERALTER TRIGGERCREATE FUNCTIONALTER FUNCTION特权;        
  • 如果要允许具有CREATE ROUTINE特权的MySQL服务器上的所有用户都可以创建此类功能,则可以通过两种方式指定log_bin_trust_function_creators选项:    
    • 通过在服务器启动时指定它,例如:-- log-bin-trust-function-creators = 1 
    • 通过SET GLOBAL语句将其设置为1 ,例如:  
 mysql> SET GLOBAL log_bin_trust_function_creators = 1;
  • 如果您不打算使用MySQL服务器进行复制,请考虑通过启动MySQL服务器mysqld实用程序的命令选项中删除选项--log-bin关闭二进制日志记录    

推荐阅读