国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

MySQL驗證用戶權限的方法_MySQL

來源:懂視網 責編:小采 時間:2020-11-09 20:08:52
文檔

MySQL驗證用戶權限的方法_MySQL

MySQL驗證用戶權限的方法_MySQL:知識歸納 因為MySQL是使用User和Host兩個字段來確定用戶身份的,這樣就帶來一個問題,就是一個客戶端到底屬于哪個host。 如果一個客戶端同時匹配幾個Host,對用戶的確定將按照下面的優(yōu)先級來排 基本觀點越精確的匹配越優(yōu)先 Host列上,越是確定的Host越
推薦度:
導讀MySQL驗證用戶權限的方法_MySQL:知識歸納 因為MySQL是使用User和Host兩個字段來確定用戶身份的,這樣就帶來一個問題,就是一個客戶端到底屬于哪個host。 如果一個客戶端同時匹配幾個Host,對用戶的確定將按照下面的優(yōu)先級來排 基本觀點越精確的匹配越優(yōu)先 Host列上,越是確定的Host越

知識歸納

因為MySQL是使用User和Host兩個字段來確定用戶身份的,這樣就帶來一個問題,就是一個客戶端到底屬于哪個host。
如果一個客戶端同時匹配幾個Host,對用戶的確定將按照下面的優(yōu)先級來排

  • 基本觀點越精確的匹配越優(yōu)先
  • Host列上,越是確定的Host越優(yōu)先,[localhost, 192.168.1.1, wiki.yfang.cn] 優(yōu)先于[192.168.%, %.yfang.cn],優(yōu)先于[192.%, %.cn],優(yōu)先于[%]
  • User列上,明確的username優(yōu)先于空username。(空username匹配所有用戶名,即匿名用戶匹配所有用戶)
  • Host列優(yōu)先于User列考慮
  • 當你登錄mysql服務器之后,你可以使用user()和current_user()來檢查你登陸的用戶。

  • user() 返回你連接server時候指定的用戶和主機
  • current_user() 返回在mysql.user表中匹配到的用戶和主機,這將確定你在數據庫中的權限
  • 當你登錄服務器并執(zhí)行MySQL的命令時,系統將檢查你當前的用戶(current_user)是否有權限進行當前操作。

  • 首先檢查user表中的全局權限,如果滿足條件,則執(zhí)行操作
  • 如果上面的失敗,則檢查mysql.db表中是否有滿足條件的權限,如果滿足,則執(zhí)行操作
  • 如果上面的失敗,則檢查mysql.table_priv和mysql.columns_priv(如果是存儲過程操作則檢查mysql.procs_priv),如果滿足,則執(zhí)行操作
  • 如果以上檢查均失敗,則系統拒絕執(zhí)行操作。
  • 測試過程
    創(chuàng)建3個用戶名相同,HOST和權限都不同的USER

    mysql> grant select on *.* to ''@'%' identified by '123';
    Query OK, 0 rows affected (0.00 sec)
    mysql> grant select,createon *.* to 'bruce'@'10.20.0.232' identified by '123';
    Query OK, 0 rows affected (0.01 sec)
    mysql> grant select,create,deleteon *.* to 'bruce'@'%' identified by'123';
    Query OK, 0rows affected (0.00 sec)
    

    從另外一個機器登陸過來

    [root@brucetest7 ~]# mysql -ubruce -p -h10.20.0.231
    Enter password: 
    Welcome to the MariaDB monitor. Commands end with ; or \g.
    Your MySQL connection id is 5
    Server version: 5.5.20-log MySQL Community Server (GPL)
    This software comes with ABSOLUTELY NO WARRANTY. This is free software,
    and you are welcome tomodify and redistribute it under the GPL v2 license
    Type 'help;' or '\h' for help. Type'\c'to clear the current inputstatement.
    MySQL [(none)]> show grants;
    +-------------------------------------------------------------------------------------------------------------------------+
    | Grants for bruce@10.20.0.232 |
    +-------------------------------------------------------------------------------------------------------------------------+
    | GRANT SELECT, CREATEON *.* TO 'bruce'@'10.20.0.232' IDENTIFIED BY PASSWORD'*23AE809DDACAF96AF0FD78ED04B6A265E05AA257' |
    +-------------------------------------------------------------------------------------------------------------------------+
    1 row inset (0.00 sec)
    MySQL [(none)]> select user(), current_user();
    +-------------------+-------------------+
    | user() | current_user() |
    +-------------------+-------------------+
    | bruce@10.20.0.232 | bruce@10.20.0.232 |
    +-------------------+-------------------+
    1 row in set (0.03 sec)
    

    明確的user,host,進行精確匹配,找到用戶為'bruce'@'10.20.0.232'
    刪除掉這個用戶再登陸

    mysql> delete from mysql.userwhereuser='bruce'andhost='10.20.0.232';
    Query OK, 1row affected (0.00 sec)
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    
    [root@brucetest7 ~]# mysql -ubruce -p -h10.20.0.231
    Enter password: 
    Welcome to the MariaDB monitor. Commands end with ; or \g.
    Your MySQL connection id is 6
    Server version: 5.5.20-log MySQL Community Server (GPL)
    This software comes with ABSOLUTELY NO WARRANTY. This is free software,
    and you are welcome tomodify and redistribute it under the GPL v2 license
    Type 'help;' or '\h' for help. Type'\c'to clear the current inputstatement.
    
    MySQL [(none)]>show grants;
    +-----------------------------------------------------------------------------------------------------------------------+
    | Grants for bruce@% |
    +-----------------------------------------------------------------------------------------------------------------------+
    | GRANT SELECT, DELETE, CREATEON*.* TO 'bruce'@'%' IDENTIFIED BYPASSWORD'*23AE809DDACAF96AF0FD78ED04B6A265E05AA257' |
    +-----------------------------------------------------------------------------------------------------------------------+
    1 row inset (0.00 sec)
    MySQL [(none)]> select user(), current_user();
    +-------------------+----------------+
    | user() | current_user() |
    +-------------------+----------------+
    | bruce@10.20.0.232 | bruce@% |
    +-------------------+----------------+
    1 row in set (0.00 sec)
    
    

    此時匹配的用戶是bruce@%
    然后把這個用戶也刪除,再登陸

    [root@brucetest7 ~]# mysql -ubruce -p -h10.20.0.231
    Enter password: 
    Welcome to the MariaDB monitor. Commands end with ; or \g.
    Your MySQL connection id is 8
    Server version: 5.5.20-log MySQL Community Server (GPL)
    This software comes with ABSOLUTELY NO WARRANTY. This is free software,
    and you are welcome tomodify and redistribute it under the GPL v2 license
    Type 'help;' or '\h' for help. Type '\c'to clear the current inputstatement.
    MySQL [(none)]> show grants;
    +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Grants for @% |
    +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | GRANT SELECT ON*.* TO''@'%' IDENTIFIED BY PASSWORD '*23AE809DDACAF96AF0FD78ED04B6A265E05AA257' |
    | GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, CREATE VIEW, SHOW VIEW, CREATEROUTINE, EVENT, TRIGGER ON `test`.* TO''@'%' |
    | GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATETEMPORARY TABLES, LOCK TABLES, CREATE VIEW, SHOW VIEW, CREATEROUTINE, EVENT, TRIGGER ON `test\_%`.* TO''@'%' |
    +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    MySQL [(none)]> select user(), current_user();
    +-------------------+----------------+
    | user() | current_user() |
    +-------------------+----------------+
    | bruce@10.20.0.232 | @% |
    +-------------------+----------------+
    1 row in set (0.00 sec)

    此時匹配的是''@'%' 用戶

    對于空用戶,默認有對test或test開頭的數據庫有權限。

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    MySQL驗證用戶權限的方法_MySQL

    MySQL驗證用戶權限的方法_MySQL:知識歸納 因為MySQL是使用User和Host兩個字段來確定用戶身份的,這樣就帶來一個問題,就是一個客戶端到底屬于哪個host。 如果一個客戶端同時匹配幾個Host,對用戶的確定將按照下面的優(yōu)先級來排 基本觀點越精確的匹配越優(yōu)先 Host列上,越是確定的Host越
    推薦度:
    標簽: 方法 用戶 驗證
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 91久久精品一区二区三区 | 国产精品亚洲四区在线观看 | 在线色 | 日本一区二区三区免费观看 | 精品国产福利 | 欧美视频三区 | 久久96国产精品久久久 | 国产精品免费播放 | 国产精品成人麻豆专区 | 日韩视频欧美视频 | 亚洲一区二区精品视频 | 免费一看一级毛片人 | 性欧美大战久久久久久久野外黑人 | 国产一区亚洲二区三区 | 精品一区二区在线观看 | 九九啪啪 | 小处雏高清一区二区三区 | 久久久精品久久久久久久久久久 | 亚洲午夜在线视频 | 免费看黄视频网站 | 亚洲欧洲精品成人久久曰影片 | 国模沟沟一区二区三区 | 97一区二区三区四区久久 | 欧美日本综合 | 日韩高清欧美 | 亚洲 欧美 自拍 另类 | 欧美日韩国产一区二区三区不卡 | 亚洲欧美日韩综合在线 | 国产1页 | 欧美日韩网 | 欧美日韩国产乱了伦 | 北条麻妃在线观看 | 一区一精品| 啪啪免费网 | 欧美福利一区二区三区 | 国产一区系列在线观看 | 国内精品伊人久久久久 | 国产区在线看 | 国产在线播放免费 | 91亚洲国产成人久久精品网址 | 韩国精品一区 |