首页 > 数据库 > MySQL > 正文

MySQL创建函数出现1418错误解决办法总结

2024-07-24 12:37:39
字体:
来源:转载
供稿:网友

本文章来给大家介绍关于MySQL创建函数出现1418错误解决方法,出现这种问题我们只要简单的一句就可以解决了.

错误码:1418

  1. 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) 这个是创建函数功能未开。 
  2. (you *might* want to use the less safe log_bin_trust_function_creators variable)  
  3. (0 ms taken) 

分析:根据系统提示,导致该错误的原因可能是一个安全设置方面的配置,查手册.

log_bin_trust_function_creators参数缺省0,是不允许function的同步的,一般我们在配置repliaction的时候,都忘记关注这个参数,这样在master更新funtion后,slave就会报告错误,然后slave stoped.

处理过程:登陆mysql数据库.

  1. set global log_bin_trust_function_creators = 1; 
  2. > start slave; 
  3. mysql> set og_bin_trust_function_creators =1; 
  4. ERROR 1193 (HY000): Unknown system variable 'og_bin_trust_function_creators' 
  5. mysql> set log_bin_trust_function_creators =1; 
  6. ERROR 1229 (HY000): Variable 'log_bin_trust_function_creators' is a GLOBAL variable and should be set with SET GLOBAL 
  7. mysql> set global log_bin_trust_function_creators =1; 
  8. Query OK, 0 rows affected (0.00 sec) 
  9. mysql> show variable like '%func%'
  10. ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'variable like '%func%'' at line 1 
  11. mysql> show variables like '%func%'
  12. +---------------------------------+-------+ 
  13. | Variable_name                   | Value | 
  14. +---------------------------------+-------+ 
  15. | log_bin_trust_function_creators | ON    | 
  16. +---------------------------------+-------+ 
  17. 1 row in set (0.01 sec)  --Vevb.com 
  18. mysql> commit
  19. Query OK, 0 rows affected (0.00 sec) 
  20. mysql> 

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表