【问题标题】:C# connecting to MySQL -get DB user rights?C# 连接到 MySQL -get DB 用户权限?
【发布时间】:2009-10-30 10:01:47
【问题描述】:

我正在使用 System.data.odbc 与我的 MySQL 数据库进行通信。登录后,我需要知道用户是否是管理员,只是为了知道权限。有什么方法可以检索当前登录用户的权限? 谢谢!

【问题讨论】:

    标签: c# mysql odbc


    【解决方案1】:

    有一个SHOW command 来检索当前用户的授权:

    SHOW GRANTS
    

    如果你没有 SELECT 权限,SHOW GRANTS 会抛出错误:)

    您还可以选择INFORMATION_SCHEMA table

    select * from information_schema.user_privileges
    

    【讨论】:

    • 谢谢,还要从 information_schema.user_privileges 中选择 * WHERE name='username'?还是身份证?我不知道这些表的结构:)
    • 包含用户名的字段是[grantee]。在我的服务器上,它包含像 'andomar'@'%' 这样的值
    • 还有一件事请 :) 我试过 SHOW GRANTS,但结果是:“GRANT ALL PRIVILEGES ON . TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*A02AA727CF2E8C5​​E6F07A382910C4028D65A053A' WITH GRANT OPTION" 我如何比较它是否是管理员?我期望的数字:(
    • 这取决于管理员的意思。但是如果“SHOW GRANTS”的结果中包含“GRANT ALL PRIVILEGES ON .TO”,则说明你登录的是一个强大的账号。
    猜你喜欢
    • 1970-01-01
    • 2019-10-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-07
    • 2019-09-30
    • 2012-08-02
    • 2011-01-16
    • 2020-11-03
    相关资源
    最近更新 更多