mysql存储过程权限 mysql 存储过程的权限

 今天给线上一台服务器的添加存储过程,同样的代码在测试机上OK,在线上就Access Denied,show grants for user了一下,看到有create权限,以为对存储过程也适用,又检查了一下代码试验了几次,还是不行,于是google之,在百度知道里看到了如下的介绍,原来存储过程虽然用的相同的create,alter但是权限是单独的,看来mysql手册里的索引查找方式并不是单个的词是有原因的,例如索引里不只是存在show,而是存在show tables、show processlist等关键词。。。。。。。
mysql存储过程权限 mysql 存储过程的权限

mysql的存储过程也出来许久了(昨天看到一片今年一月的一片文章说mysql没有存储过程,很郁闷,难道大家的观念已经根深蒂固到如此的程度了?)但是网上的资料却少之又少,更别说书上了。为了让大家少走点弯路——下面提到的将是几个在使用存储过程的时候需要的几个小细节。首先,在mysql存储过程出现的同时,用户权限也增加了5种,其中和存储过程有关的权限有三种:ALTER ROUTINE 编辑或删除存储过程 CREATE ROUTINE 建立存储过程 EXECUTE 运行存储过程 在使用GRANT创建用户的时候分配这三种权限。存储过程在运行的时候默认是使用建立者的权限运行的。需要注意的是在一个用户拥有建立存储过程的权限时,如果其没有对于select、update或delete等权限的话,虽然操作数据的存储过程可以建立,但调用存储过程的话仍是无法成功的,会返回权限错误,就算拥有运行存储过程的权限也一样。所以,如果有人给你建立了一个没有select、update、delete权限只有CREATE ROUTINE权限的用户,骂他吧,他是故意的。当然这样的用户建立的存储过程倒并不是完全不能使用,创建存储过程中有一个特征子句可以让存储过程使用运行者的权限,在建立存储过程后只要加上SQL SECURITY INVOKER特征子句就可以了。如下。CREATE PROCEDURE p()SQL SECURITY INVOKER 这样的话就可以分配两批人,一批给与创建存储过程的权限,作为开发者,一批给与运行存储过程和select、update、delete权限,作为测试者。(脑筋秀逗了) 有了这种权限分配,mysql的安全性 完全不需要在功能层去保护了,我通过root用户建立的存储过程,但是在功能层用一个只拥有运行存储过程权限的用户来调用。那么,你就算从功能层上得到数据库的用户名和密码,并且模拟了ip,也不能得到你想要的任何东西。 有了权限,我们可以放心大胆的使用存储过程,不用担心安全问题了。


  

爱华网本文地址 » http://www.aihuau.com/a/25101015/278570.html

更多阅读

把好二手房交易过程的五大关买房轻松自在 轻松自在

一直以来买房都是生活中的一件大事,买二手房更甚,需要考虑的事情更多。只有全面了解买房过程,准备充分,把好二手房交易过程的五大关,才能使整个交易过程高效顺畅。一下小蜜书简单的整理了一个二手房交易流程,希望大家能对买房的各个环节一

面向对象和面向过程的区别 面向过程的特点

C是面向过程C++、 JAVA是面向对象面向对象和面向过程的区别一个博大,一个精深.总体而言,面向对象简单,面向过程对人员要求素质过高面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次

BMP文件存储结构的格式 bmp存储格式

【转自网络】BMP文件存储结构的格式可以在Windows中的WINGDI.h文件中找到定义。BMP文件总体上由4部分组成,分别是位图文件头、位图信息头、调色板和图像数据,如表5-1所示。表5-1 BMP文件的组成结构位图文件头(bitmap-file header)位图信

蝗虫的减数分裂过程的观察 蝗虫的发育过程

蝗虫的减数分裂过程的观察一、实验目的:1、了解蝗虫的生殖细胞减数分裂发生过程及各个时期的染色体和细胞变化的特点,加深了对减数分裂意义的认识。2、 了解生殖细胞减数标本的制备方法。二、实验原理:在减数分裂的过程中,细胞连续

声明:《mysql存储过程权限 mysql 存储过程的权限》为网友凝眸分享!如侵犯到您的合法权益请联系我们删除