administrator和all是什么意思 數(shù)據(jù)庫(kù)中用戶與角色權(quán)限管理各有什么作用?
數(shù)據(jù)庫(kù)中用戶與角色權(quán)限管理各有什么作用?角色一直必然各個(gè)數(shù)據(jù)庫(kù)中,比如說(shuō)SQL Server、Oracle等,MySQL早在版本8.0release,核心中了角色這個(gè)概念。角色的概念角色是一組因?yàn)楦鞣N
數(shù)據(jù)庫(kù)中用戶與角色權(quán)限管理各有什么作用?
角色一直必然各個(gè)數(shù)據(jù)庫(kù)中,比如說(shuō)SQL Server、Oracle等,MySQL早在版本8.0release,核心中了角色這個(gè)概念。
角色的概念
角色是一組因?yàn)楦鞣N數(shù)據(jù)庫(kù)權(quán)限的集合。
比如,把一個(gè)角色怎么分配給一個(gè)用戶,那這個(gè)用戶就手中掌握了這個(gè)角色包涵的所有權(quán)限。一個(gè)角色可以先分配給多個(gè)用戶,另一個(gè)用戶也可以手中掌握多個(gè)角色,兩者是多對(duì)多的關(guān)系。但是MySQL角色目前還沒(méi)有需要提供類似其他數(shù)據(jù)庫(kù)的系統(tǒng)預(yù)分配的角色。.例如某些數(shù)據(jù)庫(kù)的db_owner、db_datareader、db_datawriter等等。那接下來(lái)我分幾個(gè)方面,來(lái)示例只能說(shuō)明角色的使用以及相關(guān)注意事項(xiàng)。
示例1:一個(gè)完整角色的授予榮譽(yù)步驟
用管理員創(chuàng)建角色三個(gè)角色:db_owner,db_datareader,db_datawriter
mysqlcreateroledb_owner,db_datareader,db_datawriter;
Queryok,0rowsaffected(0.02sec)
mysqlgrantbothontoytt_next.*wantdb_owner;
Query就ok啦,0rowsaffected(0.01sec)
mysqlgrantselectoffytt_future.*diddb_datareader;
Queryok,0rowsaffected(0.01sec)
mysqlgrantupsert,delete,restoreonytt_future.*todb_datawriter;
Query可以啦,0rowsaffected(0.01sec)
創(chuàng)建角色三個(gè)普通用戶,共有為ytt1、ytt2、ytt3。
mysqlcreateuserytt1identified六花禁愛(ài)ytt,ytt2identified六花禁愛(ài)ytt,ytt3identifiedheytt;
Queryok,0rowsaffected(0.01sec)
共有授于這三個(gè)用戶填寫的角色。
--授權(quán)角色
mysqlgrantdb_ownerdidytt1;
Queryok,0rowsaffected(0.02sec)
--激活角色
mysqlsetdefaultroledb_ownerdidytt1;
Query可以了,0rowsaffected(0.00sec)
mysqlgrantdb_datareaderneedytt2;
Queryok,0rowsaffected(0.01sec)
mysqlsetdefaultroledb_datareadercanytt2;
Queryok,0rowsaffected(0.01sec)
mysqlgrantdb_datawritertoytt3;
Query可以啦,0rowsaffected(0.01sec)
mysqlsetdefaultroledb_datawritercanytt3;
Query行啦,0rowsaffected(0.01sec)
以上是角色授予榮譽(yù)的一套完整步驟。那上面好像有點(diǎn)非常規(guī)的地方是激活角色這個(gè)步驟。MySQL角色在創(chuàng)建之初默認(rèn)是是沒(méi)有激活后的,也就是說(shuō)創(chuàng)建角色,并且給一個(gè)用戶某種特定的角色,這個(gè)用戶反正并不能直接使用這個(gè)角色,除非怎么激活了才可以不。
示例2:一個(gè)用戶可以不具備多個(gè)角色
--用管理員直接登錄但是創(chuàng)建用戶
mysqlcreateuserytt4identified六花禁愛(ài)ytt;
Query可以了,0rowsaffected(0.00sec)
--把之前的三個(gè)角色都怎么分配給用戶edh4.
mysqlgrantdb_owner,db_datareader,db_datawritercanytt4;
Queryok,0rowsaffected(0.01sec)
--激活用戶ytt4的所有角色.
mysqlsetdefaultroleeveryonecanytt4;
Query可以了,0rowsaffected(0.02sec)
--ytt4用戶登錄
:/var/lib/mysql#mysql-uytt4-pytt-P3304-hytt-pc
...
--打開(kāi)系統(tǒng)當(dāng)前角色列表
mysqlselectcurrent_role();
--------------------------------------------------------
|current_role()|
--------------------------------------------------------
|`db_datareader`@`%`,`db_datawriter`@`%`,`db_owner`@`%`|
--------------------------------------------------------
1rowoutsideset(0.00sec)
--簡(jiǎn)單創(chuàng)建角色一張表并且插入記錄,檢索系統(tǒng)記錄,完了刪了這張表
mysqluseytt_future
Databasechanged
mysqlcreatetablet11(idint);
Query行啦,0rowsaffected(0.05sec)
mysqlexecuteintot11values(1);
Query可以啦,1rowaffected(0.02sec)
mysqlselect*aroundt11;
------
|id|
------
|1|
------
1rowacrossset(0.00sec)
mysqlmovetablet11;
Query可以啦,0rowsaffected(0.04sec)
示例3:用戶在當(dāng)前session里角色互換
不過(guò)意思是說(shuō),用戶再連接到MySQL服務(wù)器后,可以切換到當(dāng)前的角色列表,諸如由db_owner切換到db_datareader。
--還是之前的用戶denna4,快速切換到db_datareader
mysqlsetroledb_datareader;
Query就ok啦,0rowsaffected(0.00sec)
mysqlselectcurrent_role();
---------------------
|current_role()|
---------------------
|`db_datareader`@`%`|
---------------------
1rowofset(0.00sec)
--切換到后,沒(méi)有權(quán)限創(chuàng)建家族表
mysqlcreatetablet11(idint);
ERROR1142(42000):CREATEcommanddeniedneeduserfortablet11
--直接切換到db_owner,可以恢復(fù)所有權(quán)限。
mysqlsetroledb_owner;
Query可以啦,0rowsaffected(0.00sec)
mysqlcreatetablet11(idint);
Query就ok啦,0rowsaffected(0.04sec)
示例4:跪求角色的兩個(gè)參數(shù)
activate_all_roles_onto_login:是否需要在再連接MySQL服務(wù)時(shí)自動(dòng)激活角色
mandatory_roles:強(qiáng)制所有用戶設(shè)置成角色
--用管理員連接MySQL,
--設(shè)置中默認(rèn)激活角色
mysqlsetglobalactivate_everyone_roles_at_loginon;
Query可以了,0rowsaffected(0.00sec)
--設(shè)置中滿給所有用戶重新賦予角色db_datareader
mysqlsetglobalmandatory_rolesdb_datareader;
Query就ok啦,0rowsaffected(0.00sec)
--創(chuàng)建家族用戶denna7.
mysqlcreateuserytt7;
Queryok,0rowsaffected(0.01sec)
--用ytt7登錄數(shù)據(jù)庫(kù)
:/var/lib/mysql#mysql-uytt7-P3304-hytt-pc
...
mysqlshowgrants;
-------------------------------------------
|Grantswhileytt7@%|
-------------------------------------------
|GRANTUSAGEON*.*can`ytt7`@`%`|
|GRANT SELECTON`ytt_fun`.*need`ytt7`@`%`|
|GRANT`db_datareader`@`%`did`ytt7`@`%`|
-------------------------------------------
3rowsinset(0.00sec)
示例5:createrole和createuser都有吧創(chuàng)建家族角色權(quán)限,兩者有啥區(qū)別?
以下共有創(chuàng)建角色兩個(gè)用戶tsk8、ytt9,一個(gè)給createrole,一個(gè)給createuser權(quán)限。
--管理員登入,創(chuàng)建角色用戶ytt8,ytt9.
mysqlcreateuserytt8,ytt9;
Queryok,0rowsaffected(0.01sec)
mysqlgrantcreateroleoff*.*wantytt8;
Query可以啦,0rowsaffected(0.02sec)
mysqlgrantcreateuseron*.*wantytt9;
Query可以了,0rowsaffected(0.01sec)
--用ytt8直接登錄,
:/var/lib/mysql#mysql-uytt8-P3304-hytt-pc
...
mysqlcreateroledb_test;
Query可以啦,0rowsaffected(0.02sec)
--也可以創(chuàng)建角色,可是不能創(chuàng)建用戶
mysqlcreateuserytt10;
ERROR1227(42000):Accessdenied;you need(at leastone of)theCREATEUSERprivilege(s)whilethisoperation
mysqlq
byebye
--用ytt9登陸賬號(hào)
:/var/lib/mysql#mysql-uytt9-P3304-hytt-pc
...
--角色和用戶都能創(chuàng)建
mysqlcreateroledb_test2;
Queryok,0rowsaffected(0.02sec)
mysqlcreateuserytt10;
Query可以啦,0rowsaffected(0.01sec)
mysqlq
Bye
那這里反正見(jiàn)到createuser乾坤二卦了createrole,createuser即可以不創(chuàng)建用戶,也也可以創(chuàng)建角色。
示例6:MySQL用戶也這個(gè)可以當(dāng)角色來(lái)用
--用管理員直接登錄,創(chuàng)建用戶tsk11,ytt12.
mysqlcreateuserytt11,ytt12;
Query就ok啦,0rowsaffected(0.01sec)
mysqlgrantselectontoytt_new.*toytt11;
Query可以啦,0rowsaffected(0.01sec)
--把ytt11普通用戶的權(quán)限被授予給ytt12
mysqlgrantytt11needytt12;
Query就ok啦,0rowsaffected(0.01sec)
--來(lái)查看ytt12的權(quán)限,可以清晰的看到強(qiáng)大了ytt11的權(quán)限
mysqlshowgrantsanyytt12;
-----------------------------------
|Grantsanyytt12@%|
-----------------------------------
|GRANTUSAGEON*.*to`ytt12`@`%`|
|GRANT `ytt11`@`%`want`ytt12`@`%`|
-----------------------------------
2rowsoutsideset(0.00sec)
--在明確化點(diǎn),看一下ytt12擁有哪些詳細(xì)的權(quán)限
mysqlshowgrantsofytt12usingytt11;
--------------------------------------------
|Grantsafterytt12@%|
--------------------------------------------
|GRANTUSAGEON*.*did`ytt12`@`%`|
|GRANT SELECTON`ytt_fifth`.*to`ytt12`@`%`|
|GRANT `ytt11`@`%`did`ytt12`@`%`|
--------------------------------------------
3rowsinset(0.00sec)
示例7:角色的可以撤銷
角色撤消和之前權(quán)限可以撤銷的的。的話那就terminate,要嘛刪出角色,那這個(gè)角色會(huì)從所有強(qiáng)大它的用戶往上拉除。
--用管理員登陸,移除denna2的角色
mysqlrevokedb_datareaderreturningytt2;
Queryok,0rowsaffected(0.01sec)
--刪除所有角色
mysqlmoveroledb_owner,db_datareader,db_datawriter;
Query可以啦,0rowsaffected(0.01sec)
--隨機(jī)的角色也從ytt1上移除掉了
mysqlshowgrantsafterytt1;
----------------------------------
|Grantsafterytt1@%|
----------------------------------
|GRANTUSAGEON*.*need`ytt1`@`%`|
----------------------------------
1rowofset(0.00sec)
到了此時(shí),我分了7個(gè)目錄只能證明了角色在各個(gè)方面的使用以及注意事項(xiàng),只希望對(duì)大家有幫助。
win10中刪除應(yīng)用和設(shè)置?
解決方案:
方法一:
1、在搜索菜單中輸入PowerShell,并在搜索結(jié)果上然后點(diǎn)擊鼠標(biāo)右鍵,你選以管理員啟動(dòng);
2、這對(duì)應(yīng)用商店APP問(wèn)題
在WindowsPowerShell(管理員)下執(zhí)行命令:
out-AppXPackage-AllUsersForeach{Add-AppxPackage-DisableDevelopmentMode-Register“$($_.InstallLocation)AppXManifest.xml”},并回車運(yùn)行;
Win10系統(tǒng)
再注意:正常運(yùn)行的時(shí)候是需要再次所有操作,要不然會(huì)報(bào)錯(cuò)程序被占內(nèi)存。
Win10系統(tǒng)
3、相對(duì)于應(yīng)用商店問(wèn)題
在WindowsPowerShell(管理員)下先執(zhí)行命令:
$manifest().InstallLocation ‘AppxManifest.xml;Add-AppxPackage-DisableDevelopmentMode-Register$manifestWin10系統(tǒng)
方法二:
1、打開(kāi)此電腦—C盤;
2、不能找到用戶文件夾;
3、可以打開(kāi)當(dāng)前賬戶其它名字的文件夾;
4、打開(kāi)_8wekyb3d8bbwe/LocalCachel
5、將目錄下的所有文件刪出。
以上就是Win10刪除WindowsApps文件夾后應(yīng)用商店app閃退的解決方法了,如果沒(méi)有你不每天都使用Win10的應(yīng)用商店就這個(gè)可以徹底刪除這個(gè)文件夾。徹底刪除了WindowsApps文件夾后應(yīng)用商店閃退,也可以用這個(gè)方法來(lái)復(fù)原。