MySQL以用户身份执行或模拟

时间:2013-09-12 23:23:41

标签: mysql

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

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

MySQL中有类似内容吗?

2 个答案:

答案 0 :(得分:1)

就我个人而言,我以前从未尝试过,但您可以从Mysql Proxy User开始查看“MySQL 5.5.7

  

插件可能会请求连接(外部)用户   作为特权检查目的的不同用户。这使得   外部用户是第二个用户的代理;就是拥有   第二个用户的权限。换句话说,外部用户是   “代理用户”(可以冒充或被称为另一个用户的用户)   用户)和第二个用户是“代理用户”(其身份的用户)   可以由代理用户承担)

您也可以自己编写authentication plugins for proxy users

...这是解释这种行为的另一篇文章“MySQL Proxy Users – SU emulation

答案 1 :(得分:0)

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

我希望这会有所帮助。