解析MYSQL授權原則

來源:互聯網
上載者:User

MySQL是一個跨平台的開源關係型資料庫管理系統,是我們常用的最經濟實惠的資料庫,由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,更讓使用者得到最切實的實在,很多使用者在應用中對授權原則不是很了瞭解,下面我們就為大家來解析。

伺服器重新啟動的情況

當mysqld啟動時,所有的授權表內容被讀進儲存空間並且從那時開始生效。

被伺服器立即應用的情況

用GRANT、REVOKE或SET PASSWORD對授權表施行的修改會立即被伺服器注意到。

直接修改授權表的情況

如果你手工地修改授權表(使用INSERT、UPDATE等等),你應該執行一個FLUSH PRIVILEGES語句或運行mysqladmin flush-privileges告訴伺服器再裝載授權表,否則你的改變將不生效,除非你重啟伺服器。

對現有客戶串連的影響情況

當伺服器注意到授權表被改變了時,現存的客戶串連有如下影響:

·表和列許可權在客戶的下一次請求時生效。

·資料庫許可權改變在下一個USE db_name命令生效。

·全域許可權的改變和口令改變在下一次客戶串連時生效。

授權原則

無論怎麼小心都難免在給使用者授權時留有漏洞,希望下面的內容能給你一些協助,你一般應該遵守這些規則。

只有root使用者擁有授權表的改寫權

不要把授權表的改寫權授予除root使用者之外的其它使用者(當然,如果你可以用另一個使用者代替root使用者進行管理,以增加安全性)。因為這樣,使用者可以通過改寫授權表而推翻現有的許可權。產生安全性漏洞。

一般情況下,你可能不會犯這個錯誤,但是在安裝新的分發, 初始授權表之後。這個漏洞是存在的,如果你不瞭解這時授權表的內容你可能會犯錯誤。

在Unix(Linux)上,在按照手冊的指令安裝好MySQL後,你必須運行mysql_install_db指令碼建立包含授權表的mysql資料庫和初始許可權。在Windows上,運行分發中的Setup程式初始化資料目錄和mysql資料庫。假定伺服器也在運行。

當你第一次在機器上安裝MySQL時,mysql資料庫中的授權表是這樣初始化的:

·你可以從本地主機(localhost)上以root串連而不指定口令。root使用者擁有所有許可權(包括系統管理權限)並可做任何事情。(順便說明,MySQL超級使用者與Unix超級使用者有相同的名字,他們彼此毫無關係。)

·匿名訪問被授予使用者可從本地串連名為test和任何名字以test_開始的資料庫。匿名使用者可對資料庫做任何事情,但無系統管理權限。

一般地,建議你刪除匿名使用者記錄:

mysql> DELETE FROM user WHERE User="";

更進一步,同時刪除其他授權表中的任何匿名使用者,有User列的表有db、tables_priv和columns_priv。

另外要給root使用者佈建密碼。

關於使用者、口令及主機的設定

·對所有MySQL使用者使用口令。

記住,如果other_user沒有口令,任何人能簡單地用mysql -u other_user db_name作為任何其它的人登入。對客戶機/伺服器應用程式,客戶可以指定任何使用者名稱是常見的做法。在你運行它以前,你可以通過編輯mysql_install_db指令碼改變所有使用者的口令,或僅僅MySQL root的口令,象這樣:

shell> mysql -u root mysql

mysql> UPDATE user SET Password=PASSWORD('new_password')

-> WHERE user='root';

mysql> FLUSH PRIVILEGES;



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.