亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

mysql權限管理

系統(tǒng) 2150 0

一、權限

命令標識

授權表中對應的列

說明

CREATE

Create_priv

創(chuàng)建數(shù)據(jù)庫、表或索引

CREATE?TEMPORARY?TABLES

Create_tmp_table_priv

創(chuàng)建臨時數(shù)據(jù)表

CREATE?ROUTINE

Create_routine_priv

創(chuàng)建函數(shù)或存儲

CREATE?VIEW

Create_view_priv

創(chuàng)建視圖

CREATE?USER

Create_user_priv

創(chuàng)建用戶

EXECUTE

Execute_priv

執(zhí)行函數(shù)或存儲過程

INDEX

Index_priv

建立索引

REFERENCES

References_priv

建立約束

DROP

Drop_priv

刪除表

SELECT

Select_priv

查詢數(shù)據(jù)

INSERT

Insert_priv

插入數(shù)據(jù)

UPDATE

Update_priv

更新數(shù)據(jù)

DELETE

Delete_priv

刪除數(shù)據(jù)

LOCK?TABLES

Lock_tables_priv

鎖定表格

SHOW?DATABASES

Show_db_priv

列出數(shù)據(jù)庫

SHOW?VIEW

Show_view_priv

列出視圖

USAGE

?

只有登錄權限,其他權限都沒有

ALL

?

所有權限,除了WITH?GRANT?OPTION

ALTER

Alter_priv

更改數(shù)據(jù)表

ALTER?ROUTINE

Alter_routine_priv

更改函數(shù)或存儲過程

PROCESS

Process_priv

顯示連接進程和中斷連接進程

FILE

File_priv

載入文件

RELOAD

Reload_priv

可以用FLUSH

REPLICATION?CLIENT

Repl_client_priv

可以檢查Masters和Slaves

REPLICATION?SLAVE

Repl_slave_priv

在Slave里的特殊權限

SHUTDOWN

Shutdown_priv

關閉MySQL

WITH?GRANT?OPTION

Grant_priv

可以將自己擁有的權限賦給其他用戶

SUPER

Super_priv

執(zhí)行kill線程,change?master、purge?master?logs、set?global等命令的權限

create?tablespace

Create_tablespace_priv?

創(chuàng)建表空間

Event

Event_priv?

確定用戶能否創(chuàng)建、修改和刪除事件

Trigger

Trigger_priv?

確定用戶能否創(chuàng)建和刪除觸發(fā)器

?

二、權限級別

1、global?level?全局權限控制,所有的信息都保存在mysql.user表中。

2、database?level?作用域為指定某個數(shù)據(jù)庫中的所有對象,所有權限信息保存在mysql.db中。當執(zhí)行grant命令時,通過“database.*”來限定作用域為database整個數(shù)據(jù)庫;也可以通過use命令選定授權的數(shù)據(jù)庫,然后通過“*”來限定作用域,這樣授權的作用域實際上就是當前選定的整個數(shù)據(jù)庫。

3、table?level?作用范圍是授權語句中指定數(shù)據(jù)庫的指定表(database.table),權限信息保存在tables_priv中。

4、column?level?作用域為某個指定的列,權限信息保存在columns_priv中。column?level級別的權限僅有insert、select、update這三種。語法格式:grant?select(id,value)?on?test.t2?to?‘abc’@‘%’。給abc用戶授予?test數(shù)據(jù)庫t2表的id、value列select權限.

5、routine?level?針對的主要對象時procedure和function。目前暫時只有execute和alter?routine兩種。語法格式:grant?execute?on?test.p1?to?'abc'?@'%';

6、with?grant?option。在授權時加上此命令,被授權用戶有傳遞權限的權限。

三、權限查看和更改

1、新加權限或者用戶。?

??GRANT?權限?ON?庫名.表名?TO?新用戶名@主機名?IDENTIFIED?BY?‘密碼‘;

??例:grant?select,insert,update,delete?on?*.*?to?test1@"%"?Identified?by?"abc";新加的用戶名為test1?,密碼為abc,對所有表有增刪查改的權限,在任何主機上可以登錄。

?

2、查看權限。

???使用show?grants?語句查看指定賬戶的權限;例如,要檢查Host和User值分別為pc84.example.com和bob的賬戶所授予的權限,應通過語句:

mysql>?SHOW?GRANTS?FOR?'bob'@'pc84.example.com';

?

3、更改權限。

???若通過直接修改權限表來更改權限,則修改完后都必須要執(zhí)行“flush?privileges”,通知mysql重新加載MySQL的權限信息;如果通過grant、revoke或drop?user命令來修改權限,則不需要執(zhí)行“flush?privileges”命令。

?

4、權限更改何時生效

當mysqld啟動時,所有授權表的內容被讀進內存并且從此時生效。

當服務器注意到授權表被改變了時,現(xiàn)存的客戶端連接有如下影響:

·?表和列權限在客戶端的下一次請求時生效。

·?數(shù)據(jù)庫權限改變在下一個USE?db_name命令生效。

·?全局權限的改變和密碼改變在下一次客戶端連接時生效。

如果用GRANT、REVOKE或SET?PASSWORD對授權表進行修改,服務器會注意到并立即重新將授權表載入內存。

如果你手動地修改授權表(使用INSERT、UPDATE或DELETE等等),你應該執(zhí)行mysqladmin?flush-privileges或mysqladmin?reload告訴服務器再裝載授權表,否則你的更改將不會生效,除非你重啟服務器。

如果你直接更改了授權表但忘記重載,重啟服務器后你的更改方生效。這樣可能讓你迷惑為什么你的更改沒有什么變化!

?

?

5、修改密碼

當使用setpassword、insert、update更改密碼時,必須使用PASSWORD()函數(shù)加密密碼。若果不使用PASSWORD()函數(shù),密碼將不工作。

例如,下面的語句設置密碼,但沒能加密,因此用戶后面不能連接:

????mysql>?SET?PASSWORD?FOR?'abe'@'host_name'?=?'eagle';

相反,應這樣設置密碼:

mysql>?SET?PASSWORD?FOR?'abe'@'host_name'?=?PASSWORD('eagle');

當使用GRANT或CREATE?USER語句或mysqladmin?password命令指定密碼時,不需要PASSWORD()函數(shù),它們會自動使用PASSWORD()來加密密碼。

四、權限表列值的規(guī)則

1、user?、host?、db表中值的規(guī)則

·?通配符字符“%”和“_”可用于表的Host和Db列。它們與用LIKE操作符執(zhí)行的模式匹配操作具有相同的含義。如果授權時你想使用某個字符,必須使用反斜現(xiàn)引用。例如,要想在數(shù)據(jù)庫名中包括下劃線(‘_’),在GRANT語句中用‘\_’來指定。

·在db表的'%'Host值意味著“任何主機”,在db表中空Host值意味著“對進一步的信息咨詢host表”。

·在host表的'%'或空Host值意味著“任何主機”。

·在三個表中的'%'或空Db值意味著“任何數(shù)據(jù)庫”。

·在user、db表中的空User值匹配匿名用戶

?

2、tables_priv和columns_priv表中值得規(guī)則

·通配符“%”并“_”可用在使用在兩個表的Host列。

·在兩個表中的'%'或空Host意味著“任何主機”。

·在兩個表中的Db、Table_name和Column_name列不能包含通配符或空。

3、mysql.host表的特殊點

mysql.host不是通過grant或revoke權限來授予或去除的,必須手工通過insert、update和delete命令來修改其中的數(shù)據(jù)。其中的權限無法單獨生效,必須與mysql.db權限表一起才能生效。當mysql.db中的信息不完整時,采取訪問mysql.host。

當想在db表的范圍之內擴展一個條目時,就會用到host表。舉例來說,如果某個db允許通過多個主機訪問的話,那么超級用戶就可以讓db表內將host列為空,然后用必要的主機名填充host表。

五、訪問控制

階段1:連接核實

當你試圖連接MySQL服務器時,服務器基于你的身份以及你是否能通過供應正確的密碼驗證身份來接受或拒絕連接。如果不是,服務器完全拒絕你的訪問,否則,服務器接受連接,然后進入階段2并且等待請求。

你的身份基于2個信息:

·你從那個主機連接

·你的MySQL用戶名

身份檢查使用3個user表(Host,?User和Password)范圍列執(zhí)行。服務器只有在user表記錄的Host和User列匹配客戶端主機名和用戶名并且提供了正確的密碼時才接受連接。

?

階段2:請求核實

一旦你建立了連接,服務器進入訪問控制的階段2。對在此連接上進來的每個請求,服務器檢查你想執(zhí)行什么操作,然后檢查是否有足夠的權限來執(zhí)行它。這正是在授權表中的權限列發(fā)揮作用的地方。這些權限可以來自user、db、host、tables_priv或columns_priv表。

?

六、query? 處理權限校驗流程

mysql權限管理

七、常做操作所需權限

1、備份

備份用戶會通過mysqldump來做備份,一般只需要用到select和lock?tables?兩項權限。如果使用帶-tab選項的mysqldump來做tab分界符文件的導出,或者是用select?into?outfile,那么還需要一個file權限。

例:grant?select,lock?tables,file?on?*.*?to?backup@localhost

為了保證許多備份操作的一致性,還會用到flush?tables?with?read?lock,所以還需要reload權限。

?

2、操作和監(jiān)控

維護系統(tǒng)或修復故障需要用到 kill show 命令,還需要關閉服務器。所以需要用到 process shutdown 權限。

?

?

?

mysql權限管理


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 思思久久这里只精品99re66 | 精品国产www | 色偷偷91综合久久噜噜 | 欧美一级人与动毛片免费播放 | 日本工番囗番全彩本子大全 | 欧美又粗又硬 | 色综合色综合色综合色综合网 | 天天碰天天干 | 91精品国产福利在线观看性色 | 国产一级爱 | 摸一摸操一操 | 波多野吉衣一区二区三区在线观看 | 精品在线观看国产 | 国产亚洲美女 | 综合精品在线 | 欧美日韩aa一级视频 | 爱爱小视频免费体验区在线观看 | 国产成人精品一区二区 | 成人国产精品一级毛片视频 | 国产高清在线精品 | 国产免费久久 | 免费日本黄色网址 | 在线亚洲精品视频 | 中文字幕一区二区三区免费看 | 国产区精品福利在线观看精品 | 久久久精品影院 | 欧美aaaaa一级毛片在线 | 日本三级欧美三级 | 国产麻豆精品hdvideoss | 中国一级毛片录像 | 91久久香蕉国产线看 | 亚洲精品一区二区四季 | 亚洲不卡视频 | 日本二级毛片免费 | 国产福利视频一区美女 | 伊人五月天综合 | www.欧美精品 | 九九在线观看精品视频6 | 一级毛片观看 | 国产精品久久久久这里只有精品 | www.四虎影视.com|