`

mysql 创建函数失败 错误1418 ERR处理方法

阅读更多
在MySQL创建用户自定义函数时,报以下错误:

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)

这是因为有一个安全参数没有开启,log_bin_trust_function_creators 默认为0,是不允许function的同步的,开启这个参数,就可以创建成功了。


mysql> show variables like '%fun%';
+---------------------------------+-------+
| Variable_name                   | Value |
+---------------------------------+-------+
| log_bin_trust_function_creators | ON    |
+---------------------------------+-------+
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 '%fun%';                                             
+---------------------------------+-------+
| Variable_name                   | Value |
+---------------------------------+-------+
| log_bin_trust_function_creators | ON    |
+---------------------------------+-------+
1 row in set (0.00 sec)



如果是在有master上开启了该参数,记得在slave端也要开启这个参数(salve需要stop后再重新start),否则在master上创建函数会导致replaction中断。
分享到:
评论

相关推荐

    mysql基本API文档

    通过上述代码示例和解析,我们了解了MySQL C语言API的基础使用方法,包括数据库连接的初始化、建立连接、执行SQL查询以及处理查询结果等核心操作。掌握这些API函数对于开发基于MySQL的应用程序至关重要。此外,需要...

    MySQL连接数据库

    此外,`go-sql-driver/mysql`还支持事务处理,错误处理,以及通过`ParseTime=true`参数自动将日期时间字段解析为Go的时间类型。 总结来说,Go语言连接MySQL数据库的关键在于使用`go-sql-driver/mysql`库,正确配置...

    用来学习测试nodejs的mysql操作。.zip

    MySQL支持事务,可以确保一系列操作要么全部成功,要么全部失败: ```javascript connection.beginTransaction((err) => { if (err) throw err; // 执行一系列操作... connection.commit((err) => { if ...

    php分卷备份还原mysql数据库.pdf

    `err_report()`方法在SQL查询出错时显示错误信息,包括查询语句和MySQL的错误信息。 7. **配置变量**: 在`Bakeup.php`文件中,可以看到一些配置变量,如数据库主机名、用户名、密码和数据库名,这些变量被用于...

    nodejs简单访问及操作mysql数据库的方法示例

    mysql模块是一个用于Node.js连接MySQL数据库的驱动程序,它提供了创建连接、执行SQL语句、处理错误和关闭连接等一系列操作数据库的方法。 以下是使用Node.js访问和操作MySQL数据库的一些关键知识点: 1. 安装mysql...

    Node.js下向MySQL数据库插入批量数据的方法

    为了解决这个问题,可以使用MySQL驱动提供的批量插入方法,这将大大提高数据导入的效率。以下是如何在Node.js中实现这一目标的详细步骤: 首先,需要安装MySQL驱动。在项目目录中,通过npm(Node.js的包管理器)...

    Node.js-mysql-autoRelease:node.js mysql事务自动释放连接

    "Node.js-mysql-autoRelease" 是一个针对Node.js的MySQL连接管理模块,其核心目标是实现MySQL事务处理时自动释放数据库连接,以确保资源的有效管理和系统的稳定运行。以下将详细介绍该模块的工作原理、相关技术点...

    go代码-mysql

    首先,我们需要创建一个到MySQL服务器的连接。这可以通过调用`sql.Open()`函数实现,它接受两个参数:驱动名(在本例中为`"mysql"`)和数据源名称(DSN,Data Source Name)。DSN包含用户名、密码、主机地址、端口...

    [php]mysql数据库操作——DB类

    -- 作 用:创建添加新的数据库 -- 参 数:$data 数据库名称(必填) -- 返回值:字符串 -- 实 例:无 *******************************************************************/ public function create_database...

    在Mysql存储过程中使用事务实例

    接着,定义了一个`CONTINUE HANDLER`,它会在遇到`SQLSTATE 'HY000'`(即SQL异常)时,将`err`设置为1,这允许我们在事务中捕获并处理错误。 在`START TRANSACTION`之后,存储过程进入事务模式。这里使用了一个`...

    PHP mysql与mysqli事务使用说明 分享

    这篇文章主要关注PHP中的MySQL和mysqli扩展在事务处理上的差异和使用方法。 首先,mysqli(MySQL Improved)扩展相比传统的mysql扩展,提供了一些显著的优势。mysqli是MySQL的增强版,它支持更多的功能,包括预处理...

    在Go中快速结构化的水平登录.zip

    通过创建一个`http.HandleFunc`函数,我们可以定义处理登录请求的处理器。处理器通常接收一个`http.ResponseWriter`和一个`http.Request`作为参数,前者用于向客户端发送响应,后者包含了客户端的请求信息。例如,...

    Go语言集成mysql驱动、调用数据库、查询数据操作示例

    在Go语言中,集成MySQL驱动并进行数据库操作是常见的任务,尤其对于开发Web应用或处理数据存储时。本文将详细讲解如何在Go中实现这一过程,包括安装MySQL驱动包、建立数据库连接以及查询数据。 首先,为了在Go中...

    nodejs-mysql-transaction:NodeJS MySQL事务的演示仓库

    Node.js的异步编程模型(如回调函数、Promise或async/await)在处理数据库事务时尤为重要,确保事务处理不会阻塞其他操作。 通过这个"nodejs-mysql-transaction"仓库,你可以学习到如何在Node.js中使用MySQL进行...

    php登陆代码,挺好用的

    如果连接失败,会设置错误信息。 - `isLoggedin`:检查用户是否已登录。通过检测Cookie中的`sid`(Session ID)或当前Session中的用户信息来确定。 - `userAuth`:执行用户认证。根据给定的用户名和密码查询数据库...

    Node.js实现连接mysql数据库功能示例

    在上述代码中,还需要注意的一点是查询操作是异步进行的,因此使用了回调函数来处理查询成功或失败的情况。如果查询发生错误,错误会被抛出;如果没有错误,查询结果会被处理,并最终通过res对象发送给客户端。 ...

    ORACLE,mysql,sqlserver,sybase数据库装文本软件

    5.明确到每一行的错误信息.(装载时会生成一个.err文件,里面有装载出错的每一行错误原因(少字段还是格式不符合要求等等)。 6.可以作为库使用在jsp等后台直接调用,将整个jar作为库,使用 OraLoad类的int ProcLoad...

Global site tag (gtag.js) - Google Analytics