This function has none of DETERMINISTIC, NO SQL解决办法

创建存储过程时

出错信息:

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

转载于:https://www.cnblogs.com/kaixincainiao/p/3485528.html

在开启bin-log日志下Mysql报错相关推荐

  1. Win7环境下mysql报错1045:Access denied for user root@localhost错误解决方法

    产生场景:在涉及到连接数据库操作的时候,会报1045:Access denied for user root@localhost. 比如:本地建立的数据库连接不上,在IDEA等开发工具中使用反向生成. ...

  2. windows下Oracle11报错:ora-01034 ora-27101 ora-00600

    windows下Oracle11报错:ora-01034 ora-27101 ora-00600 查阅大量文章后总结如下: 机房突然断电,导致数据库服务器重新启动后,连接报错. 第一种办法 ora-0 ...

  3. 【XAMPP启动mysql报错】Port 3306 in use by ““C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld“……

    [XAMPP启动mysql报错]Port 3306 in use by ""C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld&q ...

  4. npm install mysql 报错_npm遇到的问题--npm install 执行报错 /bin/git submodule update -q --init --recursive...

    1.执行npm i 安装依赖时,报错:cannot read property 'match' of undefined 据说是npm本地缓存导致 解决方案: rm -rf package-lock. ...

  5. mysql 报错 Specified key was too long; max key length is 767 bytes,开启系统变量:innodb_large_prefix

    mysql 报错 Specified key was too long; max key length is 767 bytes 当mysql数据库的字符集使用了utf8mb4,就很容易在执行建表sq ...

  6. eclipse spring mysql,eclipse环境下的springboot框架+mybatis访问MySQL报错空指针

    "/")public classTestController { @RequestMapping("/login")publicString login() { ...

  7. Android SIGABRT的可能原因及开启手机Log日志

    问题:bugly中崩溃分析SIGABRT 手机信息: 例一: 设备机型:模拟器SIMULATOR ANDROID 系统版本:Android 6.0.1,level 23 ROM:OnePlus/One ...

  8. MySQL报错:SQL错误[1146][42s02]: Table 'tablename' doesn't exist(记一次以为自己删库的经历)

    先说一下这篇文章包含的知识点:bin_log服务查询,bin_log文件转为SQL文件,MySQL重启,MySQL磁盘不足报错,MySQL表名大小写配置 事情起因: 操作数据库的是我们的萌新妹子,不太 ...

  9. mysql table plugin,MySql报错Table mysql.plugin doesn’t exist的解决方法

    MySql报错Table mysql.plugin doesn't exist的解决方法 一般产生原因是手工更改my.ini的数据库文件存放地址导致的 mysql服务启动时候找不到内置数据库" ...

最新文章

  1. MPO文件类型解码(二)了解JPEG文件格式
  2. Web生产:外部JS文件中的绝对URL?
  3. Jmail的邮件发送
  4. 改工作空间_打拼六年换的新房,装修花了17万,飘窗改柜子很实用,谁见过?...
  5. SQL数据库学习-简单查询
  6. Eclipse run configrations 配置
  7. 4.Vue跨域session问题解决
  8. mysql数据库限流方案_用于对MySQL数据库的并发操作进行控制的方法及装置的制造方法_3...
  9. C++调用tensorflow训练好的SSD物体检测模型-opencv3.4.3
  10. 《架构探险——从零开始写javaweb框架》.pdf
  11. FileZilla Server与FileZilla Client
  12. 福昕pdf阅读器 去广告版|福昕pdf阅读器Foxit reader 去广告电脑版下载v9.3
  13. 大篆汉字对照表_篆书转换器软件下载(篆体字转换汉字对照表)
  14. erf和erfc函数
  15. 阿里云ECS远程桌面连接失败
  16. 如何使用gitee(码云)提交,拉取管理项目代码
  17. 亮度,对比度,饱和度,锐度对最终图像效果的影响
  18. 北京大学优秀计算机论文,计算机系在ESEC/FSE'20上发表的论文获得ACM SIGSOFT杰出论文奖...
  19. Java 中ArrayList中的重复数据
  20. 阿里巴巴高效的页面动画解决方案——Ant Motion Design

热门文章

  1. TensorFlow tf.keras.losses.CategoricalCrossentropy
  2. vue.js v-on
  3. neo4j python
  4. flask request类
  5. git 理解 HEAD^与HEAD~
  6. java part.inlimen_java字符串加密及动手动脑
  7. mysql数据库在什么程序操作_MySQL数据库基本操作(一)
  8. 表达、思考和解决问题的逻辑(金字塔原理-高质量读书笔记)
  9. Maven学习总结(54)——使用 git-commit-id-plugin 插件来管理项目发版
  10. 驱动人生安装驱动计算机无法启动,驱动人生打开时出错怎么办