婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 淺談Mysql連接數(shù)據(jù)庫時host和user的匹配規(guī)則

淺談Mysql連接數(shù)據(jù)庫時host和user的匹配規(guī)則

熱門標簽:常州電銷外呼系統(tǒng)一般多少錢 云南語音外呼系統(tǒng)平臺 沃克斯電梯外呼線路圖 天智外呼系統(tǒng) 400電話鄭州申請 地圖標注被騙三百怎么辦 北京人工外呼系統(tǒng)價錢 房產(chǎn)智能外呼系統(tǒng)品牌 福州呼叫中心外呼系統(tǒng)哪家好

--連接數(shù)據(jù)庫時,host和user的匹配規(guī)則

官方文檔:https://dev.mysql.com/doc/refman/5.7/en/connection-access.html

--host和user的匹配規(guī)則如下:

--是host為明確的最先匹配,host帶%模糊的時候最后匹配,但host為''(空)位于%之后才匹配

--相同的host時候,比較user為明確的最先匹配,user為''(空)最后匹配

--相同的host和user時,排序是不確定的

When multiple matches are possible, the server must determine which of them to use. It resolves this issue as follows: 
Whenever the server reads the user table into memory, it sorts the rows. 
When a client attempts to connect, the server looks through the rows in sorted order. 
The server uses the first row that matches the client host name and user name. 
The server uses sorting rules that order rows with the most-specific Host values first. Literal host names and IP addresses are the most specific. (The specificity of a literal IP address is not affected by whether it has a netmask, so 198.51.100.13 and 198.51.100.0/255.255.255.0 are considered equally specific.) The pattern '%' means “any host” and is least specific. The empty string '' also means “any host” but sorts after '%'. Rows with the same Host value are ordered with the most-specific User values first (a blank User value means “any user” and is least specific). For rows with equally-specific Host and User values, the order is nondeterministic.

--查看當前的host及用戶信息匹配順序,先host順序匹配、后user順序匹配

mysql> SELECT authentication_string, host, user,account_locked FROM mysql.USER ORDER BY host desc ,user desc;
+-------------------------------------------+--------------+---------------+----------------+
| authentication_string      | host   | user   | account_locked |
+-------------------------------------------+--------------+---------------+----------------+
| *511C0A408C5065XXEC90D60YYA1AB9437281AF28 | localhost | root   | N    |
| *THISISNOTAVALIXXASSWORDYYATCANBEUSEDHERE | localhost | mysql.sys  | Y    |
| *THISISNOTAVALIXXASSWORDYYATCANBEUSEDHERE | localhost | mysql.session | Y    |
| *485CE31BA547A4XXC047659YY10DF200F361CD4E | localhost | bkpuser  | N    |
| *7B502777D8FF69XX4B56BC2YY2867F4B47321BA8 | 192.168.56.% | repl   | N    |
| *AECCE73463829AXX3968838YYF6F85E43C3F169C | %   | flyremote  | N    |
| *566AC8467DAAAEXXE247AE7YY0A770E9B97D9FB0 |    | flylocal  | N    |
+-------------------------------------------+--------------+---------------+----------------+
8 rows in set (0.00 sec)
 

--舉個特殊例子

--建立兩個特殊用戶如下,一個用戶名為''(空)、一個用戶名和host都為''(空)

mysql> create user ''@'localhost' identified by "Kong123$";
Query OK, 0 rows affected (0.00 sec) 
mysql> create user ''@'' identified by "doubleKong123$";   
Query OK, 0 rows affected (0.00 sec)

--查看當前的host及用戶信息匹配順序,先host順序匹配、后user順序匹配

mysql> SELECT authentication_string, host, user,account_locked FROM mysql.USER ORDER BY host desc ,user desc;
+-------------------------------------------+--------------+---------------+----------------+
| authentication_string      | host   | user   | account_locked |
+-------------------------------------------+--------------+---------------+----------------+
| *511C0VVV8C5065CBEC90D6TTTT1AB9437281AF28 | localhost | root   | N    |
| *THISIVVVTAVALIDPASSWORTTTTTCANBEUSEDHERE | localhost | mysql.sys  | Y    |
| *THISIVVVTAVALIDPASSWORTTTTTCANBEUSEDHERE | localhost | mysql.session | Y    |
| *485CEVVVA547A48CC04765TTTT0DF200F361CD4E | localhost | bkpuser  | N    |
| *256D7VVV91F7363EBDADEFTTTTB74B2B318746FC | localhost |    | N    |
| *7B502VVVD8FF69164B56BCTTTT867F4B47321BA8 | 192.168.56.% | repl   | N    |
| *AECCEVVV63829A5F396883TTTT6F85E43C3F169C | %   | flyremote  | N    |
| *566ACVVV7DAAAE79E247AETTTTA770E9B97D9FB0 |    | flylocal  | N    |
| *AE162VVV68403D1D98A4C9TTTT50A508B8C56F3F |    |    | N    |
+-------------------------------------------+--------------+---------------+----------------+
9 rows in set (0.00 sec)

--這樣本地登錄flyremote用戶時 會報錯,因為按以上的順序 優(yōu)先匹配到了host為localhost、user為''(空)的用戶,而不是flyremote用戶 (因為user為''(空)的用戶可以匹配任意用戶名)

[root@hostmysql-m mysql]# mysql -uflyremote -pFlyremote123$
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'flyremote'@'localhost' (using password: YES)

--那就是說本地登錄flyremote用戶時, 用匹配到的host為localhost、user為''(空)的密碼 Kong123$ ,就可以正常登陸了

[root@hostmysql-m mysql]# mysql -uflyremote -pKong123$
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 15
Server version: 5.7.23-log MySQL Community Server (GPL) 
Copyright (c) 2000, 2018, 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> select user(),CURRENT_USER();
+---------------------+----------------+
| user()    | CURRENT_USER() |
+---------------------+----------------+
| flyremote@localhost | @localhost  |
+---------------------+----------------+
1 row in set (0.06 sec)

--用帶入ip的方式登錄flyremote用戶時 無問題, ip匹配到了% ,user匹配到了flyremote

[root@hostmysql-m mysql]# mysql -uflyremote -pFlyremote123$ -h127.11.22.33 
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 5.7.23-log MySQL Community Server (GPL) 
Copyright (c) 2000, 2018, 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>

--查看當前用戶連接方式 和 當前用戶認證方式

mysql> select user(),CURRENT_USER();
+------------------------+----------------+
| user()     | CURRENT_USER() |
+------------------------+----------------+
| flyremote@127.11.22.33 | flyremote@% |
+------------------------+----------------+
1 row in set (0.00 sec)

--任意用戶、任意host,只要密碼和建立的第二個空用戶空host的密碼"doubleKong123$"匹配了, 就可以進入mysql

--測試一個不存在的用戶hahaha

[root@hostmysql-m ~]# mysql -uhahaha -pdoubleKong123$ -h127.11.22.33
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.23-log MySQL Community Server (GPL) 
Copyright (c) 2000, 2018, 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>

--查看當前用戶連接方式 和 當前用戶認證方式

mysql> select user(),CURRENT_USER();
+---------------------+----------------+
| user()    | CURRENT_USER() |
+---------------------+----------------+
| hahaha@127.11.22.33 | @    |
+---------------------+----------------+
1 row in set (0.01 sec)

--解決方案:

1、手工刪除空用戶和空host用戶確保安全

或者

2、使用 mysql_secure_installation 來進行安全配置

--安全配置如下,其中有刪除匿名用戶的操作

This program enables you to improve the security of your MySQL installation in the following ways:
 You can set a password for root accounts.
 You can remove root accounts that are accessible from outside the local host.
 You can remove anonymous-user accounts.
 You can remove the test database (which by default can be accessed by all users, even anonymous users), and privileges that permit anyone to access databases with names that start with test_.

--刪除匿名用戶的源碼 mysql_secure_installation.cc 如下:

 //Remove anonymous users
 remove_anonymous_users(); 
/**
 Removes all the anonymous users for better security.
*/
void remove_anonymous_users()
{
 int reply;
 reply= get_response((const char *) "By default, a MySQL installation has an "
      "anonymous user,\nallowing anyone to log "
      "into MySQL without having to have\na user "
      "account created for them. This is intended "
      "only for\ntesting, and to make the "
      "installation go a bit smoother.\nYou should "
      "remove them before moving into a production\n"
      "environment.\n\nRemove anonymous users? "
      "(Press y|Y for Yes, any other key for No) : ", 'y');
 
 if (reply == (int) 'y' || reply == (int) 'Y')
 {
 const char *query;
 query= "SELECT USER, HOST FROM mysql.user WHERE USER=''";
 if (!execute_query(query, strlen(query)))
  DBUG_PRINT("info", ("query success!"));
 MYSQL_RES *result= mysql_store_result(mysql);
 if (result)
  drop_users(result);
 mysql_free_result(result);
 fprintf(stdout, "Success.\n\n");
 }
 else
 fprintf(stdout, "\n ... skipping.\n\n");
}

補充:mysql 用戶表中多個host時的匹配規(guī)則

mysql數(shù)據(jù)庫中user表的host字段,是用來控制用戶訪問數(shù)據(jù)庫“權(quán)限”的。

可以使用“%”,表示所有的網(wǎng)段;

也可以使用具體的ip地址,表示只有該ip的客戶端才可以登錄到mysql服務器;

也可以使用“_”進行模糊匹配,表示某個網(wǎng)段的客戶端可以登錄到mysql服務器。

如果在user表中存在一個用戶兩條不同host值的記錄,那么mysql服務器該如何匹配該用戶的權(quán)限呢?

mysql采用的策略是:當服務器讀取user表時,它首先以最具體的Host值排序(主機名和IP號是最具體的) 。有相同Host值的條目首先以最具體的User匹配。

舉例:

如下,有兩條root用戶,那么只有l(wèi)ocalhost的root客戶端可以登錄到mysql服務器。

| root | localhost | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| root | %   | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • Mysql連接數(shù)設置和獲取的方法
  • PHP連接MySQL數(shù)據(jù)庫三種實現(xiàn)方法
  • Navicat Premium遠程連接MySQL數(shù)據(jù)庫的方法
  • 使用IDEA配置Tomcat和連接MySQL數(shù)據(jù)庫(JDBC)詳細步驟
  • 詳解DBeaver連接MySQL8以上版本以及解決可能遇到的問題
  • 連接docker里面的mysql失敗解決方法
  • 解決navicat遠程連接mysql報錯10038的問題
  • Php連接及讀取和寫入mysql數(shù)據(jù)庫的常用代碼
  • 遠程連接mysql 授權(quán)方法詳解
  • C#連接MySql數(shù)據(jù)庫的方法
  • MySQL的MaxIdleConns不合理,會變成短連接的原因

標簽:沈陽 鹽城 拉薩 移動 珠海 黔東 沈陽 徐州

巨人網(wǎng)絡通訊聲明:本文標題《淺談Mysql連接數(shù)據(jù)庫時host和user的匹配規(guī)則》,本文關鍵詞  淺談,Mysql,連接,數(shù)據(jù)庫,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關。
  • 相關文章
  • 下面列出與本文章《淺談Mysql連接數(shù)據(jù)庫時host和user的匹配規(guī)則》相關的同類信息!
  • 本頁收集關于淺談Mysql連接數(shù)據(jù)庫時host和user的匹配規(guī)則的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美精品丝袜久久久中文字幕| 精品伦理精品一区| 国产成人在线视频播放| 国产精品系列在线播放| 成人免费视频免费观看| 欧洲中文字幕精品| 精品国内片67194| 国产精品第五页| 亚洲午夜私人影院| 国产在线一区二区| 一本色道**综合亚洲精品蜜桃冫| 欧美剧情片在线观看| 日韩久久精品一区| 日韩一区中文字幕| 亚洲一二三区不卡| 日韩精品午夜视频| 国产成人激情av| 欧美猛男超大videosgay| 精品国产欧美一区二区| 亚洲精品国产视频| 日韩二区在线观看| 成人免费看黄yyy456| 欧美在线一二三四区| 久久亚洲一区二区三区明星换脸| 国产欧美一区二区精品性色超碰| 亚洲成人免费视频| 粉嫩aⅴ一区二区三区四区| 9i在线看片成人免费| 69久久99精品久久久久婷婷| 中文字幕中文字幕在线一区| 日韩精品一级二级| 91亚洲国产成人精品一区二区三| 欧美刺激脚交jootjob| 亚洲人123区| 成人爽a毛片一区二区免费| 日韩女优毛片在线| 亚洲自拍偷拍网站| 成人福利电影精品一区二区在线观看| 欧美老女人在线| 亚洲免费av观看| 99精品热视频| 中文字幕av一区二区三区高 | 亚洲成av人**亚洲成av**| 国产一区二区在线影院| 欧美四级电影网| 国产精品第13页| 国产成人一区二区精品非洲| 精品日韩99亚洲| 亚洲高清在线精品| 成a人片亚洲日本久久| 视频一区在线视频| 色八戒一区二区三区| 一区在线观看免费| 成人免费看的视频| 国产午夜精品一区二区| 国产很黄免费观看久久| 91精品婷婷国产综合久久竹菊| 亚洲激情第一区| 一本到三区不卡视频| 亚洲综合小说图片| 粉嫩高潮美女一区二区三区| 国产日韩欧美高清在线| 国产成人亚洲综合a∨猫咪| 久久久不卡网国产精品一区| 国产真实乱子伦精品视频| 精品国产区一区| 免费观看30秒视频久久| 欧美va亚洲va在线观看蝴蝶网| 免费看日韩a级影片| 欧美变态tickle挠乳网站| 韩国女主播成人在线| 久久午夜免费电影| 国产成人av电影免费在线观看| 日本一区二区三区在线观看| 暴力调教一区二区三区| ●精品国产综合乱码久久久久| 在线免费不卡视频| 美女视频黄久久| 久久精品免费在线观看| 国产成人福利片| 亚洲一区二区三区四区中文字幕 | 欧美在线观看视频一区二区| 日本91福利区| 久久久久九九视频| 日本丶国产丶欧美色综合| 日韩激情中文字幕| 中文字幕精品在线不卡| 欧美日韩一区二区三区免费看| 蜜臀av性久久久久蜜臀aⅴ流畅| 久久久久亚洲综合| 欧美三片在线视频观看| 国产精品一区二区三区网站| 亚洲亚洲人成综合网络| 久久久亚洲高清| 欧美日韩精品电影| 国产成人鲁色资源国产91色综| 一区二区三区美女| 久久影院午夜论| 成a人片亚洲日本久久| 丝袜美腿高跟呻吟高潮一区| 国产精品毛片大码女人| 日韩欧美色综合网站| 日本韩国视频一区二区| 国产剧情一区二区| 日韩电影网1区2区| 亚洲免费观看在线观看| 欧美国产日韩一二三区| 日韩欧美区一区二| 色综合久久综合中文综合网| 久久综合久久99| 欧美日韩视频不卡| www.亚洲国产| 国模娜娜一区二区三区| 亚洲高清久久久| 中文字幕一区二区三区在线播放 | 欧美日韩免费观看一区三区| 国产不卡高清在线观看视频| 另类小说一区二区三区| 亚洲高清视频中文字幕| 亚洲美女精品一区| 国产精品久久网站| 亚洲伊人色欲综合网| 成人午夜碰碰视频| 中文久久乱码一区二区| 国产一区二区三区精品欧美日韩一区二区三区 | 久久网站热最新地址| 久久麻豆一区二区| 欧美精品第一页| 欧美色图天堂网| www.日韩av| 国产成人免费高清| 黄色资源网久久资源365| 日本成人在线看| 偷窥国产亚洲免费视频| 亚洲一区二区成人在线观看| 亚洲欧美一区二区久久| 国产精品丝袜91| 国产三级精品视频| 久久久久久久久久久久久夜| 欧美va日韩va| 精品国产凹凸成av人导航| 精品av久久707| 久久免费视频色| 国产免费成人在线视频| 国产精品色哟哟| 国产精品丝袜在线| 亚洲人亚洲人成电影网站色| 中文字幕五月欧美| 亚洲激情六月丁香| 亚洲一区精品在线| 五月激情综合婷婷| 午夜欧美2019年伦理 | 国产91在线看| 粉嫩一区二区三区在线看| 成人免费毛片片v| 97成人超碰视| 色狠狠色狠狠综合| 欧美高清性hdvideosex| 欧美一区二区三区在线视频| 欧美一区二区三区视频在线| 久久综合五月天婷婷伊人| 久久久久久久久蜜桃| 国产精品私人自拍| 亚洲电影中文字幕在线观看| 视频一区欧美精品| 精品无码三级在线观看视频| 国产成人av电影在线| 色视频一区二区| 91精品国产色综合久久ai换脸 | 欧美激情一区二区三区在线| 国产精品久久久久久久久久免费看| 国产精品久久久久久久午夜片| 亚洲国产美国国产综合一区二区| 偷窥国产亚洲免费视频| 国产宾馆实践打屁股91| 欧美午夜影院一区| 久久久久99精品国产片| 亚洲欧美日韩中文播放| 日韩激情在线观看| 国产91在线|亚洲| 欧美另类久久久品| 国产精品热久久久久夜色精品三区| 亚洲综合在线第一页| 国产在线不卡一区| 欧美在线综合视频| 国产偷v国产偷v亚洲高清 | 欧美日韩一区二区三区在线看 | 欧美激情综合五月色丁香 | 欧美高清精品3d| 中文字幕第一区二区| 日本欧美久久久久免费播放网| 国产suv精品一区二区6| 欧美一区二区视频在线观看2020| 亚洲天堂免费在线观看视频| 经典三级一区二区| 欧美系列在线观看| 国产精品天干天干在线综合| 麻豆91免费观看| 欧美亚洲图片小说| 中文字幕精品在线不卡|