mysql trigger 设置错误ERROR1419

Posted Go_Forward

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql trigger 设置错误ERROR1419相关的知识,希望对你有一定的参考价值。

mysql 触发器设置

background: mysql触发器可以在对数据库数据进行变更(插入,修改,删除)之前或之后触发操作。

在设置mysql触发器时提示:

ERROR 1419 (HY000): 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)

提示没有super权限,有几种方法可以解决这个问题,现记录目前使用的方法:对需要设置触发器的用户提供super权限
使用root用户登陆数据库,运行:
GRANT ALL PRIVILEGES ON *.* TO [email protected]%;   ## username is the username you would like to grant super privilege.
FLUSH PRIVILEGES;

如果想重新创建一个用户,可以使用:

CREATE USER canal IDENTIFIED BY canal;  
GRANT ALL PRIVILEGES ON *.* TO canal@%;  -- GRANT ALL PRIVILEGES ON 数据库名.表名 TO ‘canal‘@‘%‘ ;  
FLUSH PRIVILEGES;

然后使用已经授权的用户登陆就可以进行触发器设置了。

还有其他方法如将所有用户提权,以及关闭备份和binlog的方法,由于未曾使用,不再赘述。 




以上是关于mysql trigger 设置错误ERROR1419的主要内容,如果未能解决你的问题,请参考以下文章

trigger_error

Trigger IF语句中的MySQL语法错误?

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

php 中的错误处理机制

PHP函数之trigger_error

PHP 处理错误函数