MySQL如何實(shí)現(xiàn)用戶管理與權(quán)限管理

這篇文章主要為大家展示了“MySQL如何實(shí)現(xiàn)用戶管理與權(quán)限管理”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“MySQL如何實(shí)現(xiàn)用戶管理與權(quán)限管理”這篇文章吧。

成都創(chuàng)新互聯(lián)是專業(yè)的洛龍網(wǎng)站建設(shè)公司,洛龍接單;提供成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行洛龍網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

-- 操作環(huán)境
mysql> show variables like 'version';  
+---------------+--------+
| Variable_name | Value  |
+---------------+--------+
| version       | 5.6.25 |
+---------------+--------+
1 row in set (0.04 sec)

背景知識(shí)補(bǔ)充:
user   表中 host 列的值的意義
%            匹配所有主機(jī)
localhost    localhost 不會(huì)被解析成 IP 地址,直接通過 UNIXsocket 連接
127.0.0.1    會(huì)通過 TCP/IP 協(xié)議連接,并且只能在本機(jī)訪問;
::1 ::1      就是兼容支持 ipv6 的,表示同 ipv4 的 127.0.0.1

一: 用戶管理

1. 查看用戶
mysql> select host,user,password from mysql.user where user like 'andy'; 

2. 創(chuàng)建數(shù)據(jù)庫用戶
--指定密碼創(chuàng)建新用戶,%表示任意,即 andy02 可以從任意主機(jī)訪問數(shù)據(jù)庫  
mysql> create user 'andy02'@'%' identified by 'oracle'; 
Query OK, 0 rows affected (0.03 sec)
 
3. 用戶改密碼
mysql> set password for andy02=password('mysql');
mysql> flush privileges;

4.刪除用戶
--查看當(dāng)前系統(tǒng)中已存在的用戶  
mysql> select user,host,Password from mysql.user;  
--使用drop user命令刪除用戶  
mysql> drop user 'andy02'@'%';    注意:如果不指定 @'%' ,默認(rèn)缺省,則刪除的是 '%' 。
mysql> select user,host,Password from mysql.user where user like 'andy%'; 
Empty set (0.00 sec)  

5. 重命名帳戶
--rename user命令  
mysql> rename user 'andy02'@'%' to 'andy01'@'%'; 
Query OK, 0 rows affected (0.00 sec)
--檢查  
mysql> select user,host,Password from mysql.user where user like 'andy%';  

二:權(quán)限管理

注意:mysql的權(quán)限相對(duì)于oracle而言,相對(duì)簡單,而且也沒有涉及到角色方面的定義與配置 

--grant命令語法 

1. 權(quán)限種類  
(這里直接查看,root賬戶所有的權(quán)限)

mysql> select * from mysql.user where user='root' and host='%'\G;
*************************** 1. row ***************************
                  Host: %
                  User: root
              Password: *2447D497B9A6A15F2776055CB2D1E9F86758182F
           Select_priv: Y
           Insert_priv: Y
           Update_priv: Y
           Delete_priv: Y
           Create_priv: Y
             Drop_priv: Y
           Reload_priv: Y
         Shutdown_priv: Y
          Process_priv: Y
             File_priv: Y
            Grant_priv: Y
       References_priv: Y
            Index_priv: Y
            Alter_priv: Y
          Show_db_priv: Y
            Super_priv: Y
 Create_tmp_table_priv: Y
      Lock_tables_priv: Y
          Execute_priv: Y
       Repl_slave_priv: Y
      Repl_client_priv: Y
      Create_view_priv: Y
        Show_view_priv: Y
   Create_routine_priv: Y
    Alter_routine_priv: Y
      Create_user_priv: Y
            Event_priv: Y
          Trigger_priv: Y
Create_tablespace_priv: Y
              ssl_type: 
            ssl_cipher: 
           x509_issuer: 
          x509_subject: 
         max_questions: 0
           max_updates: 0
       max_connections: 0
  max_user_connections: 0
                plugin: mysql_native_password
 authentication_string: 
      password_expired: N
1 row in set (0.00 sec)

2. 權(quán)限存放

MySQL 服務(wù)器通過 MySQL 權(quán)限表來控制用戶對(duì)數(shù)據(jù)庫的訪問,MySQL 權(quán)限表存放在 mysql 數(shù)據(jù)庫里,由 mysql_install_db 腳本初
始化。這些 MySQL 權(quán)限表分別 user,db,table_priv,columns_priv 和 host。

user 權(quán)限表:記錄允許連接到服務(wù)器的用戶帳號(hào)信息,里面的權(quán)限是全局級(jí)的。
db 權(quán)限表:記錄各個(gè)帳號(hào)在各個(gè)數(shù)據(jù)庫上的操作權(quán)限。
table_priv 權(quán)限表:記錄數(shù)據(jù)表級(jí)的操作權(quán)限。
columns_priv 權(quán)限表:記錄數(shù)據(jù)列級(jí)的操作權(quán)限。
host 權(quán)限表:配合 db 權(quán)限表對(duì)給定主機(jī)上數(shù)據(jù)庫級(jí)操作權(quán)限作更細(xì)致的控制。這個(gè)權(quán)限表不受 GRANT 和 REVOKE 語句的影響。

3. 權(quán)限范圍 priv_level: 
    *
  | *.*
  | db_name.*
  | db_name.tbl_name
  | tbl_name
  | db_name.routine_name

4. 授權(quán)
mysql>grant all privileges on *.* to 'andy01'@'%';    (--WITH GRANT OPTION 是否傳遞,默認(rèn)為不傳遞)
mysql>flush privileges;  

5. 查看當(dāng)前用戶的權(quán)限
mysql> show grants;

6. 查看指定用戶的權(quán)限

mysql> show grants for 'andy01'@'%'; 

-- revoke 收回權(quán)限

以上是“MySQL如何實(shí)現(xiàn)用戶管理與權(quán)限管理”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

分享題目:MySQL如何實(shí)現(xiàn)用戶管理與權(quán)限管理
網(wǎng)站URL:http://bm7419.com/article48/jjchhp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、網(wǎng)站收錄服務(wù)器托管商城網(wǎng)站、網(wǎng)站導(dǎo)航、網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)