mysql 开启自定义函数功能
2018-03-26 15:37
441 查看
在使用MySQL数据库时,有时会遇到MySQL函数不能创建的情况。下面就教您一个解决MySQL函数不能创建问题的方法,供您借鉴参考。
案例一:
目前在项目中,执行创建mysql的函数出错,
mysql 创建函数出错信息如下:
Error Code: 1227. 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这个参数是可以指定数据库用户的,但是自己的库却不是这个用户,所以导致问题。
目前问题已经解决。
-EOF-
案例二:
在MySQL创建用户自定义函数时,报以下错误:
?
这是因为有一个安全参数没有开启,log_bin_trust_function_creators 默认为0,是不允许function的同步的,开启这个参数,就可以创建成功了。
?
如果是在有master上开启了该参数,记得在slave端也要开启这个参数(salve需要stop后再重新start),否则在master上创建函数会导致replaction中断。
案例三:
Error Code : 1418
?
分析:
根据系统提示,导致该错误的原因可能是一个安全设置方面的配置,查手册log_bin_trust_function_creators参数缺省0,是不允许function的同步的,一般我们在配置repliaction的时候,都忘记关注这个参数,这样在master更新funtion后,slave就会报告错误,然后slave stoped。
处理过程:
登陆mysql数据库
?
跟踪mysql的启动日志,slave正常运行,问题解决。
案例一:
目前在项目中,执行创建mysql的函数出错,
mysql 创建函数出错信息如下:
Error Code: 1227. Access denied; you need (at least one of) the SUPER privilege(s) for this operation
首先检查创建函数的功能是否开启,检查是否开启创建功能的SQL如下:
?
突然发现了确实是SQL出现问题,由于他创建的SQL有指定用户,所以导致出现问题,以下是他的SQL:
?
目前问题已经解决。
-EOF-
案例二:
在MySQL创建用户自定义函数时,报以下错误:
?
?
案例三:
Error Code : 1418
?
根据系统提示,导致该错误的原因可能是一个安全设置方面的配置,查手册log_bin_trust_function_creators参数缺省0,是不允许function的同步的,一般我们在配置repliaction的时候,都忘记关注这个参数,这样在master更新funtion后,slave就会报告错误,然后slave stoped。
处理过程:
登陆mysql数据库
?
相关文章推荐
- mysql开启创建函数的功能
- mysql函数的创建以及hibernate调用mysql自定义函数以及数据对比功能,模仿中关村在线
- mysql增加自定义函数功能
- mysql 中自定义实现split功能的函数
- MySql自定义函数
- MySQL自定义排序函数FIELD()
- MSSQL 和 Mysql 切割字符串 自定义函数与存储过程
- php使用自定义函数实现汉字分割替换功能示例
- mysql开启日志功能
- mysql开启用户(登录)审计功能
- mysql实现over()开窗函数功能
- MySQL ,MS SQL Server,类似功能的函数
- 织梦dedecms自定义功能函数(4):typeid获取顶级栏目id和名称
- MYSQL的函数功能
- (7)Mysql自定义函数
- Mariadb或mysql开启或关闭远程连接功能
- 我的MYSQL学习心得(十) 自定义存储过程和函数
- PHP 自定义函数实现系统函数功能
- JS自定义功能函数实现动态添加网址参数修改网址参数值
- Mysql 自定义函数简单例子