文档章节

mysql执行存储过程中报权限不足的错误解决方法

李忘生
 李忘生
发布于 2015/05/08 11:37
字数 320
阅读 29
收藏 0

由于对mysql了解不够透彻,导致对definer问题查了好久才解决问题
记录自己的一些理解!
问题描述:
在数据库写,为一个表写了一个触发器,此触发器调用一个存储过程;由公司写的一个c程序自动往该表写入数据,通过触发器转换成业务相关数据;同过root@localhost连接数据库,但提示192.168.2.%不存在
问题查找:
登录数据库,show procedure status\G 发现procedure的definer都是root@192.168.2.%
问题解决:
方法一:修改存储过程的definer
       update mysql.proc set definer='root@localhost ' where db='db_name';
方法二:修改sql security
       sql secuirty的值决定了调用存储过程的方式,取值 :definer或者invoker
       definer:在执行存储过程前验证definer对应的用户如:root@192.168.2.%是否存在,以及是否具有执行存储过程的权限,若没有则报错
        invoker:在执行存储过程时判断inovker即调用该存储过程的用户是否有相应权限,若没有则报错。
       修改语法:
        alter procedure pro_name sql security invoker;

ps: 在创建时指定sql security 
    create procedure pro_name(params....)
    sql security definer|invoker
    begin
     .....
    end;

© 著作权归作者所有

共有 人打赏支持
李忘生
粉丝 6
博文 23
码字总数 21293
作品 0
朝阳
MySQL数据库“十宗罪”(十大经典错误案例)

各位技术老铁们,福利来了!今天给大家说说《数据库中十大经典错误案例》 老张我在刚开始学习数据库的时候,没少走弯路。经常会遇到各种稀奇古怪的 error 信息,遇到报错会很慌张,急需一个解...

superZS
2017/07/20
0
0
CentOS下mysql更改数据存放目录

1、首先我们需要关闭MySQL,命令如下: service mysqld stop 2、然后是转移数据 为了安全期间,我们采用复制命令cp,先找到mysql的原目录 cd /var/lib ls 运行这个命令之后就会看到mysql的目...

不语者
2016/11/24
74
0
centos下mysql启动失败的问题总结

今儿清理服务器上的废弃文件,不知道动了mysql的什么文件,重启mysql进程时提示: Starting MySQL.. ERROR! The server quit without updating PID file (/var/lib/l/JJonline.pid). 就抓狂了...

别处
2016/05/28
144
0
mysql数据库存储中文数据的解决办法

我在学习django中admin模块的时候,登录进入后台操作页面,输入中文数据,但保存之后全是乱码(全是“????????????”),然后就开始了解决问题之路。   1、首先百度搜索,最主流...

孟飞阳
2016/07/11
20
0
MySQL 常见问题和应用技巧

一、 忘记 MySQL 的 root 密码 1. 登录到数据库所在的服务器,手工 kill 掉 mysql 进程。 (1) 登录到数据库所在的服务器,手工 kill 掉 MySQL 进程: 其中,mysql.pid 指的是 MySQL 数据目录...

waterandair
2017/11/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

大数据框架对比:Hadoop、Storm、Samza、Spark和Flink

简介 大数据是收集、整理、处理大容量数据集,并从中获得见解所需的非传统战略和技术的总称。虽然处理数据所需的计算能力或存储容量早已超过一台计算机的上限,但这种计算类型的普遍性、规模...

hblt-j
33分钟前
2
0
正则介绍及grep/egrep用法

10月16日任务 9.1 正则介绍_grep上 9.2 grep中 9.3 grep下 扩展 把一个目录下,过滤所有*.php文档中含有eval的行 grep -r --include="*.php" 'eval' /data 9.1 正则介绍_grep上 什么是正则 ...

zgxlinux
48分钟前
2
0
想用Unity3D引擎软件赚点钱的看过来

前言: 你可以不拥有很多钱 但你一定要有赚钱的能力 目前手上有项目, 需要熟练Unity3D引擎软件的伙伴 有意向的给我发私信

猿神出窍
50分钟前
2
0
Spring Boot全局异常处理

Spring Boot默认的异常处理机制 默认情况下,Spring Boot为两种情况提供了不同的响应方式。 一种是浏览器客户端请求一个不存在的页面或服务端处理发生异常时,一般情况下浏览器默认发送的请求...

狼王黄师傅
今天
8
0
Thinkphp5 优雅配置两个数据库

工作需要需要配置两个数据库,框架5.0的,步骤如下: 1、在database.php同级创建一个database2.php文件 在里面配置第二个数据库信息, 2、在config中配置这个数据库信息: 3、创建第二个表的...

wqzbxh
今天
5
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部