真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

MySQL的權(quán)限原理及怎么樣刪除MySQL匿名賬戶-創(chuàng)新互聯(lián)

下文主要給大家?guī)鞰ySQL的權(quán)限原理及怎么樣刪除MySQL匿名賬戶,希望MySQL的權(quán)限原理及怎么樣刪除MySQL匿名賬戶能夠帶給大家實際用處,這也是我編輯這篇文章的主要目的。好了,廢話不多說,大家直接看下文吧。

網(wǎng)站的建設(shè)創(chuàng)新互聯(lián)公司專注網(wǎng)站定制,經(jīng)驗豐富,不做模板,主營網(wǎng)站定制開發(fā).小程序定制開發(fā),H5頁面制作!給你煥然一新的設(shè)計體驗!已為成都食品包裝袋等企業(yè)提供專業(yè)服務(wù)。

MySQL權(quán)限系統(tǒng)的工作原理

MySQL權(quán)限系統(tǒng)通過下面兩個階段進行認證:

(1)對連接的用戶進行身份認證,合法的用戶通過認證,不合法的用戶拒絕連接;

(2)對通過認證的合法用戶賦予相應(yīng)的權(quán)限,用戶可以在這些權(quán)限范圍內(nèi)對數(shù)據(jù)庫做相應(yīng)的操作。

對于身份的認證,MySQL是通過IP地址和用戶名聯(lián)合進行確認的,例如MySQL安裝后默認創(chuàng)建的用戶root@localhost表示用戶root只能從本地(localhost)進行連接才可以通過認證,此用戶從其他任何主機對數(shù)據(jù)庫進行的連接都將被拒絕。也就是說,同樣的一個用戶名,如果來自不同的IP地址,則MySQL將其視為不同的用戶。

MySQL的權(quán)限原理及怎么樣刪除MySQL匿名賬戶

MySQL的權(quán)限表在數(shù)據(jù)庫啟動的時候就載入內(nèi)存,當(dāng)用戶通過身份認證后,就在內(nèi)存中進行相應(yīng)權(quán)限的存取,這樣,此用戶就可以在數(shù)據(jù)庫中做權(quán)限范圍內(nèi)的各種操作了。所以在對用戶做了修改操作后flush privileges;后才會生效。

在權(quán)限存取的兩個過程中,系統(tǒng)會用到“mysql”數(shù)據(jù)庫(安裝MySQL時被創(chuàng)建,數(shù)據(jù)庫名稱叫“mysql”)中user、host和db這3個最重要的權(quán)限表。在這3個表中,最重要的表是user表,其次是db表,host表在大多數(shù)情況下并不使用。user中的列主要分為4個部分:用戶列、權(quán)限列、安全列和資源控制列。

當(dāng)用戶進行連接的時候,權(quán)限表的存取過程有以下兩個階段。

  • 先從user表中的host、user和password這3個字段中判斷連接的IP、用戶名和密碼是否存在于表中,如果存在,則通過身份驗證,否則拒絕連接。

  • 如果通過身份驗證,則按照以下權(quán)限表的順序得到數(shù)據(jù)庫權(quán)限:user->db->tables_priv->columns_priv。

在這幾個權(quán)限表中,權(quán)限范圍依次遞減,全局權(quán)限覆蓋局部權(quán)限。

  •  Host值可以是主機名或IP號,或“l(fā)ocalhost”指出本地主機。

  • 可以在Host列值使用通配符字符“%”和“_”。

  • Host值“%”匹配任何主機名,空Host值等價于“%”。它們的含義與LIKE操作符的模式匹配操作相同。例如,“%”的Host值與所有主機名匹配,而“%.mysql.com”匹配mysql.com域的所有主機。

如果權(quán)限表中的host既有“thomas.loc.gov”,又有“%”,而此時,連接從主機thomas.loc.gov過來。顯然,user表里面這兩條記錄都符合匹配條件,那系統(tǒng)會選擇哪一個呢?

如果有多個匹配,云服務(wù)器必須選擇使用哪個條目。按照下述原則來解決:

l 云服務(wù)器在啟動時讀入user表后進行排序;

l 然后當(dāng)用戶試圖連接時,以排序的順序瀏覽條目;

l 云服務(wù)器使用與客戶端和用戶名匹配的第一行。

當(dāng)云服務(wù)器讀取表時,它首先以最具體的Host值排序。主機名和IP號是最具體的?!?”意味著“任何主機”并且是最不特定的。有相同Host值的條目首先以最具體的User值排序(空User值意味著“任何用戶”并且是最不特定的)。

排序前:
 +-----------+----------+-
| Host      | User    | …
+-----------+----------+-
|%         | root     | …
|%         | jeffrey  | …
|localhost | root     | …
|localhost |          | …
+-----------+----------+-
排序后:
 
+-----------+----------+-
|Host      | User     | …
+-----------+----------+-
|localhost | root     | … ...
|localhost |          | …...
|%         |jeffrey  | … ...
|%         |root     | … ...
+-----------+----------+-

刪除匿名用戶:

mysql版本5.6.18

查看用戶

mysql> select user,host,plugin,password,authentication_string,password_expired from mysql.user;
+------+-----------+-----------------------+-------------------------------------------+-----------------------+------------------+
| user | host      | plugin                | password                                  | authentication_string | password_expired |
+------+-----------+-----------------------+-------------------------------------------+-----------------------+------------------+
| root | localhost |                       | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |                       | N                |
| root | rhel7     |                       |                                           |                       | N                |
| root | 127.0.0.1 |                       |                                           |                       | N                |
| root | ::1       |                       |                                           |                       | N                |
|      | localhost |                       |                                           | NULL                  | N                |
|      | rhel7     |                       |                                           | NULL                  | N                |
| zx   | %         | mysql_native_password | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |                       | N                |
+------+-----------+-----------------------+-------------------------------------------+-----------------------+------------------+

使用不存在的用戶也可以登錄MySQL

[root@rhel7 mysql5.6.18]# ./bin/mysql -ua
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 5.6.18-enterprise-commercial-advanced MySQL Enterprise Server - Advanced Edition (Commercial)

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

刪除user為空的用戶

mysql> delete from mysql.user where user='';
Query OK, 2 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> select user,host,plugin,password,authentication_string,password_expired from mysql.user;
+------+-----------+-----------------------+-------------------------------------------+-----------------------+------------------+
| user | host      | plugin                | password                                  | authentication_string | password_expired |
+------+-----------+-----------------------+-------------------------------------------+-----------------------+------------------+
| root | localhost |                       | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |                       | N                |
| root | rhel7     |                       |                                           |                       | N                |
| root | 127.0.0.1 |                       |                                           |                       | N                |
| root | ::1       |                       |                                           |                       | N                |
| zx   | %         | mysql_native_password | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |                       | N                |
+------+-----------+-----------------------+-------------------------------------------+-----------------------+------------------+
5 rows in set (0.00 sec)

使用不存在的用戶不能再登錄MySQL

[root@rhel7 mysql5.6.18]# ./bin/mysql -ua
ERROR 1045 (28000): Access denied for user 'a'@'localhost' (using password: NO)

對于以上關(guān)于MySQL的權(quán)限原理及怎么樣刪除MySQL匿名賬戶,大家是不是覺得非常有幫助。如果需要了解更多內(nèi)容,請繼續(xù)關(guān)注我們的行業(yè)資訊,相信你會喜歡上這些內(nèi)容的。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


當(dāng)前題目:MySQL的權(quán)限原理及怎么樣刪除MySQL匿名賬戶-創(chuàng)新互聯(lián)
網(wǎng)頁鏈接:http://weahome.cn/article/dgieci.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部