在服务器上查看mysql数据库的用户和对应的权限

本文指导读者如何登录数据库,通过Xshell连接MySQL并展示所有数据库、数据库中的用户以及他们的具体权限。此外,还介绍了查看user表结构的方法,以便更详细地了解用户权限信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、登录数据库(通过Xshell)

# mysql -uroot -p

二、查看数据库

mysql> show databases;

三、查看MYSQL数据库中所有用户

mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
+---------------------------------------+
| query                                 |
+---------------------------------------+
| User: 'cactiuser'@'%';                | 
| User: 'common_user'@'%';              | 
| User: 'dba'@'%';                      | 
| User: 'root'@'%';                     | 
| User: 'slave'@'%';                    | 
| User: 'wtgame'@'%';                   | 
| User: 'root'@'127.0.0.1';             | 
| User: 'webman'@'127.0.0.1';           | 
| User: 'root'@'192.168.166.200';       | 
+---------------------------------------+
21 rows in set (0.01 sec)

四、查看数据库中具体某个用户的权限

mysql> show grants for 'cactiuser'@'%';    
+--------------------------------------------------------------------------------------+
| Grants for cacactiuser@%                                                             |
+--------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON `cacti`.* TO 'cactiuser'@'%'                                 | 
+--------------------------------------------------------------------------------------+
1 rows in set (0.00 sec)

五、查看user表结构 需要具体的项可结合表结构来查询

mysql> desc mysql.user;
+-----------------------+-----------------------------------+------+-----+---------+-------+
| Field                 | Type                              | Null | Key | Default | Extra |
+-----------------------+-----------------------------------+------+-----+---------+-------+
| Host                  | char(60)                          | NO   | PRI |         |       | 
| User                  | char(16)                          | NO   | PRI |         |       | 
| Password              | char(41)                          | NO   |     |         |       | 
| Select_priv           | enum('N','Y')                     | NO   |     | N       |       | 
******************
******************
+-----------------------+-----------------------------------+------+-----+---------+-------+
39 rows in set (0.00 sec)

 

### 查询 MySQL 数据库中的用户列表及权限 为了获取 MySQL 数据库用户的详细信息以及其对应权限,可以采用 SQL 命令直接从 `mysql` 库内的表读取数据。具体来说,可以通过查询 `mysql.user` 表来获得所有账户的信息。 #### 使用 SQL 查看用户及其权限 可以直接运行如下命令以列出所有的用户主机名组合: ```sql SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user; ``` 这条语句会返回形如 "User: 'username'@'hostname';" 的字符串表示形式[^2]。 如果想要更深入地了解某个特定用户权限,则可利用下面的查询方式: ```sql SHOW GRANTS FOR 'specific_user'@'specific_host'; ``` 这里的 `'specific_user'` `'specific_host'` 需要替换为目标用户的实际名称与主机地址。这将展示该用户被授予的具体权限列表。 对于希望一次性看到所有用户的全部授权情况的情况,也可以尝试这样的综合查询方法: ```sql SELECT User, Host, GROUP_CONCAT(DISTINCT privilege_type SEPARATOR ', ') as Privileges FROM information_schema.user_privileges GROUP BY User, Host; ``` 此查询不仅能够显示每个用户的全局级别上的特权,而且还能通过聚合函数 `GROUP_CONCAT()` 将多个权限项合并成单一字段输出[^1]。 另外,在图形化工具如 Navicat 中同样能方便地管理查看这些设置。一旦建立了到 MySQL 服务器的有效连接之后,就可以借助于直观的操作界面来进行相应的配置工作了[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值