mysql 給使用者授權

來源:互聯網
上載者:User

MySQL使用者授權
GRANT 語句的文法如下:
     GRANT privileges (columns)
           ON what
           TO user IDENTIFIEDBY "password"
           WITH GRANT OPTION
對使用者授權
mysql>grant rights on database.* to user@host identified by "pass";
例1:
   增加一個使用者test1密碼為abc,讓他可以在任何主機上登入,並對所有資料庫有查詢、插入、修改、刪除的許可權。
    grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";
       ON 子句中*.* 說明符的意思是“所有資料庫,所有的表”
例2:
   增加一個使用者test2密碼為abc, 讓他只可以在localhost上登入,並可以對資料庫mydb進行查詢、插入、修改、刪除的操作。
grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";
例子3
增加一個使用者custom,他能從主機localhost、server.domain和whitehouse.gov串連。他只想要從 localhost存取bankaccount資料庫,從whitehouse.gov存取expenses資料庫和從所有3台主機存取customer 資料庫。他想要從所有3台主機上使用口令stupid。
為了使用GRANT語句設定個使用者的許可權,運行這些命令:
shell> mysql --user=root mysql
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
                ON bankaccount.* TO custom@localhost   IDENTIFIED BY 'stupid';
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
                ON expenses.*   TO custom@whitehouse.gov IDENTIFIED BY 'stupid';
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
                ON customer.* TO custom@'%'   IDENTIFIED BY 'stupid';
==============================================
許可權資訊用user、db、host、tables_priv和columns_priv表被儲存在mysql資料庫中(即在名為mysql的資料庫中)。
許可權            列                      Context
select           Select_priv          表                                      
insert           Insert_priv          表 
update         Update_priv       表 
delete           Delete_priv         表 
index            Index_priv         表 
alter             Alter_priv            表 
create          Create_priv          資料庫、表或索引 
drop             Drop_priv            資料庫或表 
grant            Grant_priv           資料庫或表 
references    References_priv    資料庫或表 
reload           Reload_priv          伺服器管理 
shutdown     Shutdown_priv        伺服器管理 
process          Process_priv           伺服器管理 
file                  File_priv                 在伺服器上的檔案存取
1.
select、insert、update和delete許可權        
允許你在一個資料庫現有的表上實施操作,是基本許可權
2.
alter許可權允許你使用ALTER TABLE
3.
create和drop許可權允許你建立新的資料庫和表,或拋棄(刪除)現存的資料庫和表
        如果你將mysql資料庫的drop許可權授予一個使用者,該使用者能拋棄儲存了MySQL存取許可權的資料庫!
4.
grant許可權允許你把你自己擁有的那些許可權授給其他的使用者。
你不能明顯地指定一個給定使用者應該被拒絕存取。即,你不能明顯地匹配一個使用者並且然後拒絕串連。 
你不能指定一個使用者有權建立立或拋棄一個資料庫中的表,也不能建立或拋棄資料庫本身。
可以同時列出許多被授予的單個許可權。
例如,如果想讓使用者能讀取和修改已有表的內容,但又不允許建立新表或刪除表,可按如下授權:
     GRANT SELECT,INSERT,DELETE,UPDATE   ON samp_db.*    TO user@%
         IDENTIFIEDBY "pass"

聯繫我們

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