我在客户端使用 mysql c++ 包装器连接到 mysql 服务器。当用户建立与 mysql 服务器的连接时,我想知道用户是否具有像 root (即GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION
)这样的权限。
该SHOW GRANTS FOR CURRENT_USER
查询为当前用户提供了授权,但我需要解析字符串并进行比较以了解当前用户是否具有 root 等权限。我正在寻找替代选择。
问问题
1633 次
2 回答
0
您可以查询 mysql.* 中的各种表并比较帐户之间的权限字段。当然,您必须考虑主机/用户字段的差异,因为 MySQL 认为 root@localhost 是与 root@% 和 root@10.0.0.1 等完全不同的帐户。
select * from mysql.TABLE where User in ('root', 'youraccount', 'someotheraccount');
其中 TABLE 是“用户”、“数据库”、“函数”等...
于 2010-03-18T04:09:40.963 回答
0
为什么不只执行一个只能由“root”超级用户完成的测试操作。如果它失败了,你就不走运了,但如果它有效,你就会做生意?
于 2010-12-17T20:31:34.520 回答