MySQL 使用者登入與操作執行

來源:互聯網
上載者:User

標籤:blog   http   os   sp   資料   2014   問題   log   bs   

一個使用者可以不登入進Mysql 資料庫,由兩方面的因數決定

  1、你是誰:也就是mysql 資料庫中記錄的使用者名稱和密碼,在SQL Server資料庫,中只要求說明你是誰就可以登入了,可是mysql 不是這樣的它還要看第二條

  2、出生:你是京城皇宮裡的張三,還是山溝溝裡的張三,在mysql 看來你是兩個不同的人。

  mysql 把這些重要訊息記錄在mysql.user 表中 (User,Password)-->你是誰  (Host)-->你是那裡人(出生地)

  

  發現沒有光是root 就有4 個哦。

 

-------------------------------------------------------------------------------------------------------------------------

我們最終的目的不只是為了串連上mysql 資料庫更是為了可以對裡面的資料進行操作。面要進行操作我們首先要取得相應的許可權!使用者的許可權記錄在如下幾張表中

  1  mysql.user  它記錄了使用者的全域許可權這個也是最大粒度的許可權,這樣說了也說不明白,還是來個例子

      

      root 使用者的Select_Priv 為Y 說明它可以查詢 mysql 任何一個資料庫中的任何對象。這麼強大的許可權如果我只是想把使用者的許可權控制在某一個資料庫中呢!

      這個粒度的許可權就與mysql.db表對應

  2  mysql.db  它記錄了哪個使用者對哪個資料庫有哪些許可權,還是老樣子直接上例子

      

     看見沒有User 列沒有記錄root 使用者哦!那麼問題就來了,為毛root 可以查詢任何資料庫中的表呢?這個裡因為記錄再了mysql.user表裡面,在mysql.user 表中的

         Select_Priv = Y  是針對所有資料庫的,也就是說當root 運行一查詢時,首先去看一下mysql.user 看有沒有運行這一查詢的許可權,如果有就執行,如果沒有就去        mysq.db 表中看一下有沒有這個許可權。看到了沒有許可權的粒度每小一級就會多一次判斷!這可以會影響效能。

  3  mysql.tables_priv 上面說了這麼多我想這個就不用多說了,看名字就知道了它是表一級的控制。

  4  mysql.columns_priv 列層級的粒度控制

  5  mysql.proc_priv      預存程序與函數層級的粒度控制

 

MySQL 使用者登入與操作執行

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.