程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> MYSQL設置觸發器權限問題的解決方法

MYSQL設置觸發器權限問題的解決方法

編輯:關於MYSQL數據庫

本文實例講述了MYSQL設置觸發器權限的方法,針對權限錯誤的情況非常實用。具體分析如下:

mysql導入數據提示沒有SUPER Privilege權限處理,如下所示:

ERROR 1419 (HY000): You do not have the SUPER Privilege and Binary Logging is Enabled

導入function 、 trigger 到 MySQL database,報錯:

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修改數據庫,錯誤只在啟用binary logging選項進行主從復制的服務器上出現。

解決方法如下:

1)導入數據的用戶不僅需要CREATE ROUTINE, ALTER ROUTINE, CREATE TRIGGER, ALTER TRIGGER, CREATE FUNCTION 和 ALTER FUNCTION 權限,還需要SUPER privileges 權限,使用超級用戶導入數據。

2)讓所有用戶具有執行類似functions的權限,危險,不推薦,

 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,

# binary logging – not required for slaves, but recommended
#log-bin=mysql-bin
# binary logging format – mixed recommended
#binlog_format=mixed

希望本文所述對大家的MySQL數據庫設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved