mysql 创建函数 权限_MySQL赋予用户执行自定义Function的权限
将远程数据库导入到本地之后,一启动项目就报错“execute command denied to user”,提示用户没权限执行自定义FunctionCaused by: java.sql.SQLSyntaxErrorException: execute command denied to user 'cxcs'@'localhost' for routine 'hzcx.getOrgName'
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:975)
at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:392)
at org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172)
at org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172)
at sun.reflect.GeneratedMethodAccessor50.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:55)
at com.sun.proxy.$Proxy25.execute(Unknown Source)
at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:56)
at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:70)
at sun.reflect.GeneratedMethodAccessor49.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59)
at com.sun.proxy.$Proxy23.query(Unknown Source)
at org.apache.ibatis.executor.ReuseExecutor.doQuery(ReuseExecutor.java:54)
at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:259)
at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:132)
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:105)
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:81)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:104)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:98)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:354)
... 19 more
检查导入sql,发现这个function是在root用户下面的,所以将已定义的function全部删除重建,全部在cxcs这个用户下面,结果发现还是不行,错误依旧。
后来查阅资料时,看到有博主碰到过用户没有给execute权限的情况:http://blog.csdn.net/lwei_998/article/details/44177741
想起来好像自己也没有给用户赋予执行权限,使用show命令查看一下show grants for 'cxcs'@'localhost'
果然是这个原因,用户cxcs只有“select,insert,update,delete,create,drop,alter”这几个权限,赶紧grant一个execute给用户cxcsgrant execute on hzcx.* to 'cxcs'@'localhost'
问题解决!
mysql 创建函数 权限_MySQL赋予用户执行自定义Function的权限相关推荐
- mysql 赋权限_MySQL赋予用户权限命令总结
MySQL用户可用权限 一个新建的MySQL用户没有任何访问权限,这就意味着你不能在MySQL数据库中进行任何操作.你得赋予用户必要的权限.以下是一些可用的权限: ALL: 所有可用的权限 CREAT ...
- mysql创建函数失败_MYSQL创建函数出错如何解决
在使用MySQL数据库时,有时会遇到MySQL函数不能创建的情况.下面就教您一个解决MySQL函数不能创建问题的方法,供您借鉴参考.希望能帮助到大家. 案例一: 目前在项目中,执行创建mysql的函数 ...
- mysql给用户建表权限_MYSQL添加用户、建表、权限
1.新建用户 //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql> insert into mysql.user(Host,User,Pas ...
- mysql创建函数失败_mysql创建函数出现问题?
大家好,帮我看看下面的mysql的函数有什么问题?一直创建不了. DELIMITER $$ DROP FUNCTION IF EXISTS check_if_exists$$ CREATE FUNCT ...
- mysql创建管理密码_mysql 创建用户与授权、修改密码
一, 创建用户: CREATE USER用于创建新的MySQL账户.要使用CREATE USER,您必须拥有mysql数据库的全局CREATE USER权限,或拥有INSERT权限.对于每个账户,CR ...
- MySQL 创建函数, MySQL定义函数实现汉字转拼音 MySQL汉字转拼音MySQL汉字生成拼音字符串
MySQL 创建函数, MySQL定义函数实现汉字转拼音 MySQL汉字转拼音 一.MySQL创建函数 1.语法 CREATE FUNCTION fun_name([paramName type , ...
- MySQL创建函数报“ERROR 1418 ”错误,不能创建函数
MySQL创建函数报ERROR 1418错误,不能创建函数,根据官方提示是说,不能创建函数可能是一个安全设置方面的配置或功能未开启原因,下面我们一起来看. 错误 ERROR 1418 (HY000): ...
- MySQL创建函数和存储过程,批量插入大数据
工作中使用Jmeter压测时,需要大数据量,可以使用MySQL创建函数和存储过程,批量插入大数据 右击新建函数,创建过程 完成后自动创建 在body部分写入过程: DECLARE id INT DEF ...
- 在navicat for mysql 创建函数,保存的时候出现1064错误
在navicat for mysql 创建函数,保存的时候出现1064错误 解决方法:很有可能是mysql语句出现语法错误,仔细检查一下符号是否为英文,是否忘记写符号":"
最新文章
- C语言实现,设计一个将所有奇数移动到偶数之前的算法
- Echarts 自定义数据视图
- html5 版街头霸王,街头霸王5全DLC整合版
- asp mysql text_11种ASP连接数据库的方法
- Android 应用开发(30)---Git之使用GitHub搭建远程仓库
- 安装mysql最后一步第二个打叉_Mysql安装到最后一步时。出现start service红叉 亲朋好友帮忙指导一下!谢谢! 百...
- java删除文件的上一级_java中多级目录的删除
- controller层要写什么_别再写满屏的try-catch了,真丑,全局异常处理不会吗?
- 快解析:NAT移动版结合管家婆使用操作
- Tabular Editor学习笔记_2
- Inno Setup 6.0.3+ 简体中文语言包
- Grafana 短信报警
- 人工智能 漆桂林_2020年CCF专委活动计划(预通过)
- 【死磕 Spring】----- IOC 之 Factory 实例化 bean
- 滑动时固定在头部的一部分会变色(向下滑会变红)
- 盗版不需要考虑,直接企业版(Enterprise)走起?
- 路由器桥接静态ip设置_如何在路由器上设置静态IP地址
- xmanager无法连接Linux服务器,解决xmanager连接linux出错问题
- 如何提高测试人员问题分析能力
- [hdu6578]Blank