在MySQL中,有没有办法以特定用户身份执行查询来测试表权限?当您与更高特权帐户连接时,有没有办法模拟用户执行上下文?
在MSSQL世界中,可以使用EXECUTE AS login ='username',然后使用SQL语句,最后使用REVERT,以关闭模拟。
MySQL中有类似内容吗?
答案 0 :(得分:1)
就我个人而言,我以前从未尝试过,但您可以从Mysql Proxy User开始查看“MySQL 5.5.7”
插件可能会请求连接(外部)用户 作为特权检查目的的不同用户。这使得 外部用户是第二个用户的代理;就是拥有 第二个用户的权限。换句话说,外部用户是 “代理用户”(可以冒充或被称为另一个用户的用户) 用户)和第二个用户是“代理用户”(其身份的用户) 可以由代理用户承担)
您也可以自己编写authentication plugins for proxy users
...这是解释这种行为的另一篇文章“MySQL Proxy Users – SU emulation”
答案 1 :(得分:0)
您必须转到主页,更改本地实例的设置或您正在使用的任何架构。你需要更改用户名。 如果您希望运行使用凭据登录的查询,并希望使用其他凭据运行其他查询,请检查MySQL中的“代理用户”。
我希望这会有所帮助。