手机
当前位置:查字典教程网 >编程开发 >mysql数据库 >开启bin-log日志mysql报错的解决方法
开启bin-log日志mysql报错的解决方法
摘要:创建存储过程时出错信息:复制代码代码如下:ERROR1418(HY000):ThisfunctionhasnoneofDETERMINIST...

创建存储过程时

出错信息:

复制代码 代码如下:

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)

原因:

复制代码 代码如下:

这是我们开启了bin-log, 我们就必须指定我们的函数是否是

1 DETERMINISTIC 不确定的

2 NO SQL 没有SQl语句,当然也不会修改数据

3 READS SQL DATA 只是读取数据,当然也不会修改数据

4 MODIFIES SQL DATA 要修改数据

5 CONTAINS SQL 包含了SQL语句

其中在function里面,只有 DETERMINISTIC, NO SQL 和 READS SQL DATA 被支持。如果我们开启了 bin-log, 我们就必须为我们的function指定一个参数。

解决方法:

复制代码 代码如下:

SQL code

mysql> show variables like 'log_bin_trust_function_creators';

+---------------------------------+-------+

| Variable_name | Value |

+---------------------------------+-------+

| log_bin_trust_function_creators | OFF |

+---------------------------------+-------+

mysql> set global log_bin_trust_function_creators=1;

mysql> show variables like 'log_bin_trust_function_creators';

+---------------------------------+-------+

| Variable_name | Value |

+---------------------------------+-------+

| log_bin_trust_function_creators | ON |

这样添加了参数以后,如果mysqld重启,那个参数又会消失,因此记得在my.cnf配置文件中添加:

log_bin_trust_function_creators=1

【开启bin-log日志mysql报错的解决方法】相关文章:

查看MySQL的错误日志的方法

mysql忘记密码的解决方法

CMD下查询Mysql中文乱码的解决方法

SQL2000和SQL2005冲突的解决方法

Mysql(MyISAM)的读写互斥锁问题的解决方法

重装MySQL最后一步失败的完美解决办法

sqlserver2000数据压缩解决方法

mysql处理添加外键时提示error 150 问题的解决方法

经测试最好用的mysql密码忘记的解决方法

phpmyadmin报错:#2003 无法登录 MySQL服务器的解决方法

精品推荐
分类导航