mysql疑难问题之景图权限管理--安全系数为DEFINER-betway app_必威app|必威体育app官方下载

概述

前段时间在做数据库备份时提示:

mysqldump: Couldn't executmysql疑难问题之景图权限办理--安全系数为DEFINER-betway app_必威app|必威体育app官方下载e 'SHOW FIELDS FROM `v_ocs_group_production_limysql疑难问题之景图权限办理--安全系数为DEFINER-betway app_必威app|必威体育app官方下载nes1`': SELECT command denied to user ''@'%' for colu刘翔mn 'work_date' in ta第四态ble 't_ocs_employee_attendace' (1143)

这个报错仍是比较常见的问题之一,所以就拿来剖析了。成人游戏


思路:

当视图的安全性为DEFINER时,数据库中存在DEFINER指定的用户,也便是图中的界说者所填写的。而且该用户具有对应的权限,才寅时能履行。与当时用户是否有权限无关。

当视图的安全性为INVOKER时,只需履行者有履行鲅鱼饺子权限,就能够成功履行。

definer和invoker的差异:

在创立视图或者是存储进程的时分,是需求界说安全验证方法的(也便是安全性SQL SECURITY),其值可认为definer或invoker,表明在履行进程中,运用谁的权限来履行。

definer:由defi牵挂ner(界说者)指定mysql疑难问题之景图权限办理--安全系数为DEFINER-betway app_必威app|必威体育app官方下载的用户的权限来履行

invoker:由调用这个视图(存储进程)的用户的权限来执簿本五颜六色行

1、definer

当界说为DEFINER时,有必要数据库中存在DEFINER指定的用户,而且该用户具有对应的操作权限,才干成功履行。与当时用户是否有权限绚烂绝伦造句无关。

示例:

CREATE DEFINER=dev@% PROCEDUREmysql疑难问题之景图权限办理--安全系数为DEFINER-betway app_必威app|必威体育app官方下载 p_user_login(IN u_name VARCHAR(25), IN u_儿童英语password吉冈昌仁 VARCHAR(100))
B人民币美元EGIN
SELEC强奸罪T u.id, u.name, u.tid, u.status, u.is_report FROM v_user u WHERE u.name=u_name AND u.password=u_password AND u.status=1;
END;

2、invoker

当界说为INVOKER时,只需履行者有履行权限,就能够成功履行。

示例:

CREATE DEFINER侏罗纪公园2=dev@% PROCEDURE p_user_login(IN u_name VARCHAR(25), IN u_password VARCHAR(100))
SQL怪样子 SECURITY INVOKER
BEGIN
SELECT u.id, u.name, u.tid, u.status, u.ismysql疑难问题之景图权限办理--安全系数为DEFINER-betway app_必威app|必威体育app官方下载_report FROM v_user u WHERE u.name=u_name AND u.password=u_mysql疑难问题之景图权限办理--安全系数为DEFINER-betway app_必威app|必威体育app官方下载password AND u.status=1;
END;

1、检查视图

这儿先看下视图的一些界说。

能够看到mysql疑难问题之景图权限办理--安全系数为DEFINER-betway app_必威app|必威体育app官方下载界说者是指定用户了。


2、测验授权

这个时分是授权失利郭鹤年小女儿郭燕光翔嫂的。

mysql> GRANT SELECT ON test.v_ocs_group_productitinyon_lines1 TO 'root'@'localhost';
mysql> GRANT SELECT ON test.v_ocs_group_production_lines1 TO '马油的成效与效果root'@'%';


3、修正definer


4、测验

测验通过。


觉得有用的朋友多帮助转发哦!后边会共享更多devops和DBA方面的内容,感兴京趣的朋友能够重视下~

评论(0)