用于检查授权的Mysql函数或过程
用户应该只执行函数和过程。出于安全原因,我向该用户授予用于检查授权的Mysql函数或过程,mysql,privilege,Mysql,Privilege,用户应该只执行函数和过程。出于安全原因,我向该用户授予EXECUTE,并撤销该用户的其他权限 如何检查此用户是否只有存储函数的EXECUTE权限?SHOW GRANTS for“”@“ SHOW GRANTS FOR '<user>'@'<host>' 显示用户的授权。您可以检查用户的授权 SELECT * FROM mysql.procs_priv WHERE Proc_priv='Execute' AND Routine_type='PROCEDURE' AND
EXECUTE
,并撤销该用户的其他权限
如何检查此用户是否只有存储函数的EXECUTE
权限?SHOW GRANTS for“”@“
SHOW GRANTS FOR '<user>'@'<host>'
显示用户的授权。您可以检查用户的授权
SELECT * FROM mysql.procs_priv WHERE Proc_priv='Execute' AND Routine_type='PROCEDURE' AND Routine_name='<routine_name>' AND User='<user>' Db='<db_name>' AND Host='<host>';
从mysql.procs_priv中选择*,其中Proc_priv='Execute'和Routine_type='PROCEDURE'以及Routine_name=''和User=''Db=''和Host='';
数据库和主机可能不是必需的请参考此链接,我想在存储函数中检查授权。CREATE函数
get_max_price
()返回int(11)unsigned begin声明l int(11)unsigned;如果“检查用户刚刚执行授权”,则从cars中的l中选择最大值(价格)+1;返回l;如果结束;返回0;结束;我可以打电话给show grants。但如何检查存储函数中的输出呢?您可以使用declare处理程序定义异常。。如果用户没有特定操作的权限,它将抛出错误,该错误将由定义的异常处理程序处理。我不想得到补助金。我想在存储函数中检查授权。确定。我现在登记。我需要什么权限来执行“从信息中选择*_schema.schema_privileges”?这只是“用法”吗?