本文實例講述了MYSQL設置觸發(fā)器權限的方法,針對權限錯誤的情況非常實用。具體分析如下:
mysql導入數(shù)據提示沒有SUPER Privilege權限處理,如下所示:
?1 ERROR 1419 (HY000): You do not have the SUPER Privilege and Binary Logging is Enabled
導入function 、 trigger 到 MySQL database,報錯:
?1 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)”.
原因:
function / trigger 中有dangerous statements修改數(shù)據庫,錯誤只在啟用binary logging選項進行主從復制的服務器上出現(xiàn)。
解決方法如下:
1)導入數(shù)據的用戶不僅需要CREATE ROUTINE, ALTER ROUTINE, CREATE TRIGGER, ALTER TRIGGER, CREATE FUNCTION 和 ALTER FUNCTION 權限,還需要SUPER privileges 權限,使用超級用戶導入數(shù)據。
2)讓所有用戶具有執(zhí)行類似functions的權限,危險,不推薦,
?123 o by specifying it on the server start, like: –log-bin-trust-function-creators=1 o by setting it to 1 through the SET GLOBAL statement, like: mysql> SET GLOBAL log_bin_trust_function_creators = 1;
3)如果不需要復制,或者是從庫,關閉binlog,
?1234 # binary logging – not required for slaves, but recommended #log-bin=mysql-bin # binary logging format – mixed recommended #binlog_format=mixed
希望本文所述對大家的MySQL數(shù)據庫設計有所幫助。
更多信息請查看IT技術專欄