我如何检查mysql用户是否具有root用户等权限

时间:2010-03-17 12:26:01

标签: c++ mysql privileges

我在客户端使用mysql c ++包装器连接到mysql服务器。当用户建立与mysql服务器的连接时,我想知道用户是否具有root权限(即GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION)。

SHOW GRANTS FOR CURRENT_USER查询为当前用户提供授权,但是我需要解析字符串并进行比较以了解当前用户是否具有root权限。我正在寻找其他选择。

2 个答案:

答案 0 :(得分:0)

您可以查询mysql。*中的各个表,并比较帐户之间的权限字段。当然,您必须考虑主机/用户字段的差异,因为MySQL认为root @ localhost与root @%和root@10.0.0.1等完全不同。

从mysql.TABLE中选择*其中User in('root','youraccount','someotheraccount');

其中TABLE是'user','db','func'等...

答案 1 :(得分:0)

为什么不执行一个只能由'root'超级用户完成的测试操作..如果失败则你运气不好,但如果它运作起来,你就会开展业务?< / p>