从definer帐户执行mysql存储过程,无需执行权限

从definer帐户执行mysql存储过程,无需执行权限,mysql,stored-procedures,privileges,execute,Mysql,Stored Procedures,Privileges,Execute,我在mariaDB数据库中创建了一个存储过程。定义者是一个受限制的用户,没有执行权限(在数据库、表和过程级别) 但是我可以从这个帐户成功地执行这个过程 定义者即使没有执行权限也可以执行过程,这是正常行为吗?这是正常行为。从: 执行存储的例程需要执行权限。但是,如有必要,此权限将自动授予例程的创建者(并在例程被删除时从创建者处删除)。此外,例程的默认SQL安全特性是DEFINER,它允许访问与例程关联的数据库的用户执行例程。 谢谢,我确实查看了文档,但没有找到这个。在哪里?@galinette,答

我在mariaDB数据库中创建了一个存储过程。定义者是一个受限制的用户,没有执行权限(在数据库、表和过程级别)

但是我可以从这个帐户成功地执行这个过程


定义者即使没有执行权限也可以执行过程,这是正常行为吗?

这是正常行为。从:

执行存储的例程需要执行权限。但是,如有必要,此权限将自动授予例程的创建者(并在例程被删除时从创建者处删除)。此外,例程的默认SQL安全特性是DEFINER,它允许访问与例程关联的数据库的用户执行例程。
谢谢,我确实查看了文档,但没有找到这个。在哪里?@galinette,答案中已经链接了相关手册部分;)