跳到主要内容

查看用户权限

用户创建成功后,您可以根据需要查看用户的权限。

前提条件

  • 使用 SHOW GRANTS 语句查询用户权限时,如果是查询当前用户,则不需要任何权限;如果需要查询其他用户,则需要拥有全局 SELECT 权限。

  • 使用视图查看用户权限时,需要拥有相应视图的 SELECT 权限。

操作步骤

  1. 管理员 root 登录到 seekdb。

  2. 通过以下方式查看用户权限。

    • 通过 SHOW GRANTS 语句查看用户被授予的权限。

      您可以使用以下任意一条语句来查看当前用户被授予的权限:

      SHOW GRANTS;
      SHOW GRANTS FOR CURRENT_USER;
      SHOW GRANTS FOR CURRENT_USER();

      如果需要查看指定用户被授予的权限,可以加上 FOR 子句,语句如下:

      SHOW GRANTS FOR test;

      查询结果的示例如下。

      +----------------------------------------+
      | Grants for test@% |
      +----------------------------------------+
      | GRANT INSERT, SELECT ON *.* TO 'test' |
      | GRANT SELECT ON `db1`.* TO 'test' |
      +----------------------------------------+
      2 rows in set
    • 查看用户所拥有的全局权限。

      可以通过 mysql.user 视图查看用户所拥有的全局权限。

      示例如下:

      SELECT * FROM mysql.user WHERE user='test'\G
      *************************** 1. row ***************************
      host: %
      user: test
      password: *6691484ea6b50ddde1926a220da01fa9e575c18a
      select_priv: Y
      insert_priv: Y
      update_priv: N
      delete_priv: N
      create_priv: N
      drop_priv: N
      reload_priv: N
      shutdown_priv: N
      process_priv: N
      file_priv: N
      grant_priv: N
      reference_priv: N
      index_priv: N
      alter_priv: N
      show_db_priv: N
      super_priv: N
      create_tmp_table_priv: N
      lock_tables_priv: N
      execute_priv: N
      repl_slave_priv: N
      repl_client_priv: N
      create_view_priv: N
      show_view_priv: N
      create_routine_priv: N
      alter_routine_priv: N
      create_user_priv: N
      event_priv: N
      trigger_priv: N
      max_questions: 0
      max_updates: 0
      max_connections: 0
      max_user_connections: 0
      plugin: ob_native_password
      authentication_string:
      password_expired:
      1 row in set

      更多 mysql.user 视图的字段及说明请参见 mysql.user

    • 查看用户所拥有的数据库级权限。

      可以通过 mysql.db 视图查看某个用户所拥有的数据库级权限。

      SELECT * FROM mysql.db WHERE user='test'\G
      *************************** 1. row ***************************
      host: %
      db: test
      user: test
      select_priv: Y
      insert_priv: Y
      update_priv: Y
      delete_priv: N
      create_priv: N
      drop_priv: N
      grant_priv: N
      reference_priv: N
      index_priv: Y
      alter_priv: Y
      create_tmp_table_priv: N
      lock_tables_priv: N
      create_view_priv: N
      show_view_priv: Y
      create_routine_priv: N
      alter_routine_priv: N
      execute_priv: N
      event_priv: N
      trigger_priv: N
      1 row in set

      更多 mysql.db 视图的字段及说明请参见 mysql.db

    • 查看用户被授予的列权限。

      可以通过视图 mysql.columns_privinformation_schema.COLUMN_PRIVILEGES 查看用户被授予的列权限。

      • 查询视图 mysql.columns_priv

        SELECT * FROM mysql.columns_priv;

        查询结果如下:

        +------+-------+-------+------------+-------------+-------------+---------------------+
        | Host | Db | User | Table_name | Column_name | Column_priv | Timestamp |
        +------+-------+-------+------------+-------------+-------------+---------------------+
        | % | test1 | user2 | tbl1 | c1 | Insert | 2025-12-15 15:02:57 |
        | % | test1 | user1 | tbl1 | c1 | Select | 2025-12-15 11:05:21 |
        +------+-------+-------+------------+-------------+-------------+---------------------+
        2 rows in set
      • 查询视图 information_schema.COLUMN_PRIVILEGES

        SELECT * FROM information_schema.COLUMN_PRIVILEGES;

        查询结果如下:

        +-------------+---------------+--------------+------------+-------------+----------------+--------------+
        | GRANTEE | TABLE_CATALOG | TABLE_SCHEMA | TABLE_NAME | COLUMN_NAME | PRIVILEGE_TYPE | IS_GRANTABLE |
        +-------------+---------------+--------------+------------+-------------+----------------+--------------+
        | 'user2'@'%' | def | test1 | tbl1 | c1 | INSERT | YES |
        | 'user1'@'%' | def | test1 | tbl1 | c1 | SELECT | NO |
        +-------------+---------------+--------------+------------+-------------+----------------+--------------+
        2 rows in set

        有关 information_schema.COLUMN_PRIVILEGES 视图的字段及说明请参见 information_schema.COLUMN_PRIVILEGES

相关文档

用户权限及授权相关操作介绍,请阅读以下内容: