報錯原因
在將函數或觸發器導入MySQL數據庫時,會出現以下錯誤:“您沒有SUPER特權,並且啟用了二進制日志記錄(您*可能*想要使用不太安全的log_bin_trust_function_creators變量)”。
解決方案
有幾種解決方法:
-
您需要為運行導入數據庫的用戶指定SUPER特權,並應用CREATE ROUTINE,ALTER ROUTINE,CREATE TRIGGER,ALTER TRIGGER,CREATE FUNCTION和ALTER 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來關閉二進制日志記錄。