7

在 MySQL 中,有没有办法以特定用户的身份执行查询来测试表权限?当您与更高权限的帐户连接时,有没有办法模拟用户执行上下文?

在 MSSQL 世界中,可以使用 EXECUTE AS login = 'username',然后是您的 SQL 语句,最后是 REVERT,以关闭模拟。

MySQL中有类似的东西吗?

4

2 回答 2

1

我个人以前从未尝试过,但您可以查看从MySQL 5.5.7开始可用的“ Mysql 代理用户”

插件可能会要求将连接的(外部)用户视为不同的用户以进行权限检查。这使得外部用户可以成为第二个用户的代理;即拥有第二个用户的权限。换句话说,外部用户是“代理用户”(可以冒充或成为另一个用户的用户),而第二个用户是“代理用户”(其身份可以被代理用户获取的用户)

您还可以为代理用户编写自己的身份验证插件

...这里是解释这种行为的另一篇文章“ MySQL 代理用户 – SU 仿真

于 2013-09-13T06:02:18.483 回答
0

您必须转到主页,更改本地实例的设置或您正在使用的任何模式。在那里您需要更改用户名。如果您希望在使用凭据登录的位置运行查询,并希望使用其他凭据运行其他查询,请检查 MySQL 中的“代理用户”。

我希望这有帮助。

于 2016-04-14T20:54:47.480 回答