mysql怎么用權(quán)限 mysql權(quán)限控制

如何設(shè)置mysql用戶的權(quán)限

1、創(chuàng)建新用戶

成都創(chuàng)新互聯(lián)專注于企業(yè)全網(wǎng)營銷推廣、網(wǎng)站重做改版、甘谷網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)商城網(wǎng)站制作、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為甘谷等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

通過root用戶登錄之后創(chuàng)建

grant all privileges on *.* to testuser@localhost identified by "123456" ;//創(chuàng)建新用戶,用戶名為testuser,密碼為123456 ;

grant all privileges on *.* to testuser@localhost identified by "123456" ;//設(shè)置用戶testuser,可以在本地訪問mysql

grant all privileges on *.* to testuser@"%" identified by "123456" ; //設(shè)置用戶testuser,可以在遠(yuǎn)程訪問mysql

flush privileges ;//mysql 新設(shè)置用戶或更改密碼后需用flush privileges刷新MySQL的系統(tǒng)權(quán)限相關(guān)表,否則會出現(xiàn)拒絕訪問,還有一種方法,就是重新啟動mysql服務(wù)器,來使新設(shè)置生效

2、設(shè)置用戶訪問數(shù)據(jù)庫權(quán)限

grant all privileges on test_db.* to testuser@localhost identified by "123456" ;//設(shè)置用戶testuser,只能訪問數(shù)據(jù)庫test_db,其他數(shù)據(jù)庫均不能訪問 ;

grant all privileges on *.* to testuser@localhost identified by "123456" ;//設(shè)置用戶testuser,可以訪問mysql上的所有數(shù)據(jù)庫 ;

grant all privileges on test_db.user_infor to testuser@localhost identified by "123456" ;//設(shè)置用戶testuser,只能訪問數(shù)據(jù)庫test_db的表user_infor,數(shù)據(jù)庫中的其他表均不能訪問 ;

3、設(shè)置用戶操作權(quán)限

grant all privileges on *.* to testuser@localhost identified by "123456" WITH GRANT OPTION ;//設(shè)置用戶testuser,擁有所有的操作權(quán)限,也就是管理員 ;

grant select on *.* to testuser@localhost identified by "123456" WITH GRANT OPTION ;//設(shè)置用戶testuser,只擁有【查詢】操作權(quán)限 ;

grant select,insert on *.* to testuser@localhost identified by "123456" ;//設(shè)置用戶testuser,只擁有【查詢\插入】操作權(quán)限 ;

grant select,insert,update,delete on *.* to testuser@localhost identified by "123456" ;//設(shè)置用戶testuser,只擁有【查詢\插入】操作權(quán)限 ;

REVOKE select,insert ON what FROM testuser//取消用戶testuser的【查詢\插入】操作權(quán)限 ;

mysql 如何設(shè)置權(quán)限

用ROOT賬戶登陸(有權(quán)限對整個(gè)數(shù)據(jù)庫操作的賬戶)點(diǎn)權(quán)限設(shè)置,然后添加一用戶 。在Database for user 那里選擇Create database with same name and grant all privileges 如果只是想指定它對其中一數(shù)據(jù)庫有管理權(quán)限就不要選擇全局權(quán)限中的任何一項(xiàng) ,點(diǎn)執(zhí)行 完成創(chuàng)建 ,下面就是新建一數(shù)據(jù)庫,在點(diǎn)權(quán)限設(shè)置 ,在“按數(shù)據(jù)庫指定權(quán)限”那里把你剛新建的數(shù)據(jù)庫選擇上,點(diǎn)執(zhí)行就可以了!這樣你新建的賬戶只對該數(shù)據(jù)庫有完全控制的權(quán)限,對其他用戶也沒訪問權(quán)限!

mysql 權(quán)限設(shè)置

背景

在了解動態(tài)權(quán)限之前,我們先回顧下 MySQL 的權(quán)限列表。

權(quán)限列表大體分為服務(wù)級別和表級別,列級別以及大而廣的角色(也是MySQL 8.0 新增)存儲程序等權(quán)限。我們看到有一個(gè)特殊的 SUPER 權(quán)限,可以做好多個(gè)操作。比如 SET 變量,在從機(jī)重新指定相關(guān)主機(jī)信息以及清理二進(jìn)制日志等。那這里可以看到,SUPER 有點(diǎn)太過強(qiáng)大,導(dǎo)致了僅僅想實(shí)現(xiàn)子權(quán)限變得十分困難,比如用戶只能 SET 變量,其他的都不想要。那么 MySQL 8.0 之前沒法實(shí)現(xiàn),權(quán)限的細(xì)分不夠明確,容易讓非法用戶鉆空子。

那么 MySQL 8.0 把權(quán)限細(xì)分為靜態(tài)權(quán)限和動態(tài)權(quán)限,下面我畫了兩張?jiān)敿?xì)的區(qū)分圖,圖 1 為靜態(tài)權(quán)限,圖 2 為動態(tài)權(quán)限。

圖 1- MySQL 靜態(tài)權(quán)限的權(quán)限管理圖

圖 2-動態(tài)權(quán)限圖

那我們看到其實(shí)動態(tài)權(quán)限就是對 SUPER 權(quán)限的細(xì)分。 SUPER 權(quán)限在未來將會被廢棄掉。

我們來看個(gè)簡單的例子,

比如, 用戶 'ytt2@localhost', 有 SUPER 權(quán)限。

mysql show grants for ytt2@'localhost';+---------------------------------------------------------------------------------+| Grants for ytt2@localhost ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |+---------------------------------------------------------------------------------+| GRANT INSERT, UPDATE, DELETE, CREATE, ALTER, SUPER ON *.* TO ytt2@localhost |+---------------------------------------------------------------------------------+1 row in set (0.00 sec)

但是現(xiàn)在我只想這個(gè)用戶有 SUPER 的子集,設(shè)置變量的權(quán)限。那么單獨(dú)給這個(gè)用戶賦予兩個(gè)能設(shè)置系統(tǒng)變量的動態(tài)權(quán)限,完了把 SUPER 給拿掉。

mysql grant session_variables_admin,system_variables_admin on *.* to ytt2@'localhost';Query OK, 0 rows affected (0.03 sec)mysql revoke super on *.* from ytt2@'localhost';Query OK, 0 rows affected, 1 warning (0.02 sec)

我們看到這個(gè) WARNINGS 提示 SUPER 已經(jīng)廢棄了。

mysql show warnings;

+---------+------+----------------------------------------------+

| Level ? | Code | Message ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|

+---------+------+----------------------------------------------+

| Warning | 1287 | The SUPER privilege identifier is deprecated |

+---------+------+----------------------------------------------+

1 row in set (0.00 sec)`

mysql show grants for ytt2@'localhost';

+-----------------------------------------------------------------------------------+

| Grants for ytt2@localhost ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |

+-----------------------------------------------------------------------------------+

| GRANT INSERT, UPDATE, DELETE, CREATE, ALTER ON *.* TO ytt2@localhost ? ? ? ? ?|

| GRANT SESSION_VARIABLES_ADMIN,SYSTEM_VARIABLES_ADMIN ON *.* TO ytt2@localhost |

+-----------------------------------------------------------------------------------+

2 rows in set (0.00 sec)

當(dāng)然圖 2 上還有其它的動態(tài)權(quán)限,這里就不做特別說明了。

網(wǎng)頁標(biāo)題:mysql怎么用權(quán)限 mysql權(quán)限控制
文章分享:http://muchs.cn/article2/doggdoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、移動網(wǎng)站建設(shè)、全網(wǎng)營銷推廣電子商務(wù)、微信公眾號、網(wǎng)站營銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化