日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mysql授权账号查询权限_【MySQL】MySQL授权与用户权限查询

發(fā)布時(shí)間:2023/12/10 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql授权账号查询权限_【MySQL】MySQL授权与用户权限查询 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

如果需要查看MySQL用戶權(quán)限,應(yīng)該如何實(shí)現(xiàn)呢?

一、GRANT授權(quán)

# mysql -u root -p"xxx"

> grant usage on *.* to 'discuz'@'localhost' identified by 'XXX';

> grant all privileges on `discuz`.* to 'discuz'@'localhost';

創(chuàng)建一個(gè)只可以在本地登陸的 不能操作的用用戶名 discuz 密碼為 XXX,給這個(gè)discuz用戶操作discuz數(shù)據(jù)庫(kù)的所有權(quán)限。

GRANT命令用來(lái)建立新用戶,指定用戶口令并增加用戶權(quán)限,其格式如下:

> GRANT ON

-> TO [IDENTIFIED BY ""]

-> [WITH GRANT OPTION];

正如你看到的,在這個(gè)命令中有許多待填的內(nèi)容。

我們逐一地對(duì)它們進(jìn)行介紹,并最終給出一些例子以讓你對(duì)它們的協(xié)同工作有一個(gè)了解。

你可以指定的權(quán)限可以分為三種類型:

數(shù)據(jù)庫(kù)/數(shù)據(jù)表/數(shù)據(jù)列權(quán)限

alter: 修改已存在的數(shù)據(jù)表(例如增加/刪除列)和索引

create: 建立新的數(shù)據(jù)庫(kù)或數(shù)據(jù)表

delete: 刪除表的記錄

drop: 刪除數(shù)據(jù)表或數(shù)據(jù)庫(kù)

index: 建立或刪除索引

insert: 增加表的記錄

select: 顯示/搜索表的記錄

update: 修改表中已存在的記錄

全局管理MySQL用戶權(quán)限

file: 在MySQL服務(wù)器上讀寫(xiě)文件

PROCESS: 顯示或殺死屬于其它用戶的服務(wù)線程

RELOAD: 重載訪問(wèn)控制表,刷新日志等

SHUTDOWN: 關(guān)閉MySQL服務(wù)

特別的權(quán)限

ALL: 允許做任何事(和root一樣)

USAGE: 只允許登錄--其它什么也不允許做

二、查看用戶權(quán)限

> show grants for 'user'@'localhost'

> show grants for user;

> show grants for 'user'@'%'

三、例子

1.創(chuàng)建一個(gè)表,并授權(quán)特定用戶

> CREATE DATABASE ?IF NOT EXISTS test? DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

> grant all privileges on test* to 'test_user'@'%' IDENTIFIED BY 'Test@123';

> ?flush privileges;

ON 子句中test.* 說(shuō)明符的意思是“test數(shù)據(jù)庫(kù)所有的表”

2. 授予root用戶遠(yuǎn)程權(quán)限

> grant all privileges ?on *.* to 'root'@'%' ?indentified by 'Root@123' with grant option;

> ??flush privileges;

ON 子句中*.* 說(shuō)明符的意思是“所有數(shù)據(jù)庫(kù),所有的表”

with grant option允許你把你自己擁有的那些權(quán)限授給其他的用戶

3.增加一個(gè)用戶test密碼為Test@123,讓他可以在任何主機(jī)上登錄,并對(duì)所有數(shù)據(jù)庫(kù)有查詢、插入、修改、刪除的權(quán)限

> grant select,insert,update,delete on *.* to?test@"%" Identified by "Test@123";

> ?flush privileges;

4.增加一個(gè)用戶test密碼為Test@123,, 讓他只可以在localhost上登錄,并可以對(duì)數(shù)據(jù)庫(kù)testdb進(jìn)行查詢、插入、修改、刪除的操作

> grant select,insert,update,delete on testdb.* to?test@localhostidentified by "Test@123";

> ?flush privileges;

5.MySQL創(chuàng)建只讀賬號(hào)

> GRANT SElECT ON *.* TO 'reader'@'%'? ?IDENTIFIED BY "passwd";

> ?flush privileges;

6.MySQL賦權(quán)與權(quán)限回收(grant&revoke)

給用戶cacti賦予所有庫(kù)的所有權(quán)限

> GRANT ALL PRIVILEGES ON *.* TO 'cacti'@'%' IDENTIFIED BY 'cacti' WITH GRANT OPTION;

> FLUSH PRIVILEGES;

權(quán)限回收(不包含賦權(quán)權(quán)限)

> REVOKE ALL PRIVILEGES ON *.* FROM cacti;

> REVOKE ALL PRIVILEGES ON cacti.* FROM cacti;

收回賦權(quán)權(quán)限

> REVOKE GRANT OPTION ON *.* FROM cacti;

> FLUSH PRIVILEGES;

為什么使用了grant all on db.* to user identified by "passwd"后,在主機(jī)上訪問(wèn)數(shù)據(jù)庫(kù)還會(huì)出現(xiàn)ERROR 1045 (28000): Access denied for user'user'@'localhost'(using password: YES) 的錯(cuò)誤提示?

運(yùn)行命令 grant all on db.* to'user'@'localhost'identified by "pass"

當(dāng)不加@選項(xiàng)時(shí),效果與加@'%'是一樣的,'%'從名義上包括任何主機(jī),(%必須加上引號(hào),不然與@放在一起可能不會(huì)被辨認(rèn)出)

不過(guò)有些時(shí)候(有些版本)'%'不包括localhost,要單獨(dú)對(duì)@'localhost'進(jìn)行賦值!

正確的操作是:

> ?grant all on db.* to 'user'@'%' identified by "passwd";

> ??grant all on db.* to 'user'@'localhost' identified by "passwd";

> ?flush privileges;

總結(jié)

以上是生活随笔為你收集整理的mysql授权账号查询权限_【MySQL】MySQL授权与用户权限查询的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。