1. 程式人生 > >查看MYSQL數據庫中所有用戶及擁有權限

查看MYSQL數據庫中所有用戶及擁有權限

-- subject 用戶名 新的 們的 tables 所有權 用戶操作 enc

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 wang@localhost                                                                                   |
+-------------------------------------------------------------------------------------------------------------------+
| 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 root@localhost                                                                                                              |
+----------------------------------------------------------------------------------------------------------------------------------------+
| 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: 只允許登錄--其它什麽也不允許做。

查看MYSQL數據庫中所有用戶及擁有權限