查看MYSQL数据库中所有用户及拥有权限
程序员文章站
2024-03-09 12:35:59
...
1、查看MYSQL数据库中所有用户
mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
+---------------------------------+
| query |
+---------------------------------+
| User: 'root'@'10.4.3.10'; |
| User: 'root'@'10.4.32.15'; |
| User: 'root'@'10.4.35.16'; |
| User: 'root'@'::1'; |
| User: 'wang'@'localhost'; |
| User: 'root'@'localhost'; |
| User: 'bing'@'localhost'; |
+---------------------------------+
7 rows in set (0.00 sec)
2、查看数据库中具体某个用户的权限
mysql> show grants for 'wang'@'localhost';
+-------------------------------------------------------------------------------------------------------------------+
| Grants for [email protected] |
+-------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'baobaowang'@'localhost' IDENTIFIED BY PASSWORD '*e9d0656c39ce83a05c11aadc5619f605f977c368' |
| GRANT ALL PRIVILEGES ON `bing`.* TO 'wang'@'localhost' |
+-------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
mysql> show grants for 'root'@'localhost';
+----------------------------------------------------------------------------------------------------------------------------------------+
| Grants for [email protected] |
+----------------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*96860be2538db7e343a108b32e0e54e64eede295' WITH GRANT OPTION |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION |
+----------------------------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
mysql> select * from mysql.user where user='wang' \G
*************************** 1. row ***************************
Host: localhost
User: baobaowang
Password: *7295DE9CF4976C84B2B2AC39620C255E885B16A0
Select_priv: N
Insert_priv: N
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
References_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
Create_tablespace_priv: N
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
plugin:
authentication_string: NULL
1 row in set (0.00 sec)
3、Grant 用法
GRANT USAGE ON *.* TO 'cuz'@'localhost' IDENTIFIED BY PASSWORD '*4585fa1158f37e2c1d7e41e4e309714a3fdd7826';
GRANT ALL PRIVILEGES ON `cuz`.* TO 'cuz'@'localhost';
建立一个只可以在本地登陆的,不能操作用的用户名 cuz 密码为 ***** 已经加密了的
然后第二句的意思是 ,给这个cuz用户操作cuz数据库的所有权限
使用GRANT
GRANT命令用来建立新用户,指定用户口令并增加用户权限。其格式如下:
mysql> GRANT <privileges> ON <what>
-> TO <user> [IDENTIFIED BY "<password>"]
-> [WITH GRANT OPTION];
在这个命令中有许多待填的内容。让我们逐一地对它们进行介绍,并最终给出一些例子以让你对它们的协同工作有一个了解。
<privileges>是一个用逗号分隔的你想要赋予的MySQL用户权限的列表。你可以指定的权限可以分为三种类型:
*数据库/数据表/数据列权限:*
Alter: 修改已存在的数据表(例如增加/删除列)和索引。
Create: 建立新的数据库或数据表。
Delete: 删除表的记录。
Drop: 删除数据表或数据库。
INDEX: 建立或删除索引。
Insert: 增加表的记录。
Select: 显示/搜索表的记录。
Update: 修改表中已存在的记录。
*全局管理MySQL用户权限:*
file: 在MySQL服务器上读写文件。
PROCESS: 显示或杀死属于其它用户的服务线程。
RELOAD: 重载访问控制表,刷新日志等。
SHUTDOWN: 关闭MySQL服务。
*特别的权限:*
ALL: 允许做任何事(和root一样)。
USAGE: 只允许登录--其它什么也不允许做。
转载于:https://blog.51cto.com/meiling/2156159