用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > mysql教程

MySQL创建函数报“ERROR 1418 ”错误,不能创建函数

时间:2015-01-23  来源:西部数据  作者:西部数据

MySQL创建函数报ERROR 1418错误,不能创建函数,根据官方提示是说,不能创建函数可能是一个安全设置方面的配置或功能未开启原因,下面我们一起来看.

错误: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)

分析:MySQL函数不能创建,是未开启功能.

根据系统提示,导致该错误的原因可能是一个安全设置方面的配置,查手册log_bin_trust_function_creators参数缺省0,是不允许function的同步的,一般我们在配置repliaction的时候,都忘记关注这个参数,这样在master更新funtion后,slave就会报告错误,然后slave stoped.

处理过程:解决方法,MySQL函数不能创建,是未开启功能,代码如下:

  1. mysql> show variables like ‘%func%’; 
  2. +———————————+——-+ 
  3. | Variable_name | Value | 
  4. +———————————+——-+ 
  5. | log_bin_trust_function_creators | OFF | 
  6. +———————————+——-+ 
  7. 1 row in set (0.00 sec) 
  8. mysql> set global log_bin_trust_function_creators=1; 
  9. Query OK, 0 rows affected (0.00 sec)   //phpfensi.com
  10. mysql> show variables like ‘%func%’; 
  11. +———————————+——-+ 
  12. | Variable_name                            | Value   | 
  13. +———————————+——-+ 
  14. | log_bin_trust_function_creators  | ON | 
  15. +———————————+——-+ 
  16. 1 row in set (0.00 sec)mysql> 

如果上方法不能成功解决mysql中的ERROR 1418错误,那还得请你使用下面方法试试.

第一步:mysql> SET GLOBAL log_bin_trust_function_creators = 1;

第二步:系统启动时 –log-bin-trust-function-creators=1

第三步:在my.ini(Linux下为my.conf)文件中 [mysqld] 标记后加一行内容为 log-bin-trust-function-creators=1

来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
栏目更新
栏目热门