Heim  >  Artikel  >  Datenbank  >  MYSQL设置触发器权限问题的解决方法_MySQL

MYSQL设置触发器权限问题的解决方法_MySQL

WBOY
WBOYOriginal
2016-06-01 13:05:541272Durchsuche

本文实例讲述了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数据库设计有所帮助。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn