位置: 编程技术 - 正文

MYSQL 创建函数出错的解决方案(mysql中函数创建与调用示例)

编辑:rootadmin

推荐整理分享MYSQL 创建函数出错的解决方案(mysql中函数创建与调用示例),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql 创建函数语法,mysql8.0创建函数,mysql8.0创建函数,mysql中函数创建与调用示例,mysql8.0创建函数,mysql中创建函数,mysql创建函数出现的问题,mysql创建函数出现的问题,内容如对您有帮助,希望把文章链接给更多的朋友!

在使用MySQL数据库时,有时会遇到MySQL函数不能创建的情况。下面就教您一个解决MySQL函数不能创建问题的方法,供您借鉴参考。

案例一:

目前在项目中,执行创建mysql的函数出错,

mysql 创建函数出错信息如下:

Error Code: . Access denied; you need (at least one of) the SUPER privilege(s) for this operation

首先检查创建函数的功能是否开启,检查是否开启创建功能的SQL如下:

执行完SQL之后发现已经开启了,随检查自己的SQL是否写错(因为SQL是别人给的,在别人环境没问题,在自己的环境就有可能)。

突然发现了确实是SQL出现问题,由于他创建的SQL有指定用户,所以导致出现问题,以下是他的SQL:

由于CREATE_FUNCTION规范,可以发现就是DEFINER这个参数是可以指定数据库用户的,但是自己的库却不是这个用户,所以导致问题。

目前问题已经解决。

MYSQL 创建函数出错的解决方案(mysql中函数创建与调用示例)

-EOF-

案例二:

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

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

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

案例三:

Error Code :

分析:

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

处理过程:

登陆mysql数据库

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

MySQL 5.6 中 TIMESTAMP有那些变化 在MySQL5.6.6之前,TIMESTAMP的默认行为:TIMESTAMP列如果没有明确声明NULL属性,默认为NOTNULL。(而其他数据类型,如果没有显示声明为NOTNULL,则允许NULL值。

MySQL 5.6 中的 TIMESTAMP 和 explicit_defaults_for_timestamp 参数 安装MySQL时,有warning:[root@localhostmysql]#scripts/mysql_install_db--user=mysqlInstallingMySQLsystemtables...--::[Warning]TIMESTAMPwithimplicitDEFAULTvalueisdeprecated.Pleaseuse-

Mysql学习心得之插入、更新、删除记录 下面通过图文并茂的方式给大家详解Mysql学习心得之插入、更新、删除记录。插入记录Insert[]into]tb1_name[(col_name,…..)]自动编号的字段,可以用valuesdefaultDe

本文链接地址:https://www.jiuchutong.com/biancheng/347964.html 转载请保留说明!

上一篇:解析SQL Server 视图、数据库快照(sql解析框架)

下一篇:MySQL 5.6 中 TIMESTAMP有那些变化

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络