mysql 创建函数问题(转)

mysql 创建函数问题(转)
2010-05-26 19:37

今天在整理数据时,又碰到MySQL函数不能创建的问题,以前也遇到过多次,解决是解决了,但是解决办法总是记不住,也没有很好地写下来,以至于每 次都要再次Google,耗时耗力,这次终于受不了了,还是选择写出来:

出错信息大致类似:

ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)

ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)

建立不了函数,是未开启功能:

SQL code
 
       
mysql > show variables like ' %func% ' ; + -- -------------------------------+-------+ | Variable_name | Value | + -- -------------------------------+-------+ | log_bin_trust_function_creators | OFF | + -- -------------------------------+-------+ 1 row in set ( 0.00 sec) mysql > set global log_bin_trust_function_creators = 1 ; Query OK, 0 rows affected ( 0.00 sec) mysql > show variables like ' %func% ' ; + -- -------------------------------+-------+ | Variable_name | Value | + -- -------------------------------+-------+ | log_bin_trust_function_creators | ON | + -- -------------------------------+-------+ 1 row in set ( 0.00 sec) mysql >
搞定!

以下是另外一种解决方法

分析:
根据系统提示,导致该错误的原因可能是一个安全设置方面的配置,查手册log_bin_trust_function_creators参数缺省0,是不 允许function的同步的




一般我们在配置repliaction的时候,都忘记关注这个参数,这样在master更新funtion后,slave就会报告错误,然后slave stoped。

处理过程:
登陆mysql数据库
> set global log_bin_trust_function_creators = 1;
> start slave;

跟踪mysql的启动日志,slave正常运行,问题解决。

持续跟踪,经过一个晚上,bin-relay-log的数据全部同步完毕。 直接在my.cnf里面添加
log_bin_trust_function_creators = 1
这样以后重启了就自动开启了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值