久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

mysql中授權(quán)和撤銷授權(quán)等命令怎么用

共計(jì) 5192 個(gè)字符,預(yù)計(jì)需要花費(fèi) 13 分鐘才能閱讀完成。

丸趣 TV 小編給大家分享一下 mysql 中授權(quán)和撤銷授權(quán)等命令怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

MySQL 的權(quán)限系統(tǒng)圍繞著兩個(gè)概念: 

認(rèn)證 - 確定用戶是否允許連接數(shù)據(jù)庫服務(wù)器  

授權(quán) - 確定用戶是否擁有足夠的權(quán)限執(zhí)行查詢請(qǐng)求等。

如果認(rèn)證不成功的話,哪么授權(quán)肯定是無法進(jìn)行的。

revoke 跟 grant 的語法差不多,只需要把關(guān)鍵字“to”換成“from”

  表 GRANT 和 REVOKE 管理的權(quán)限

權(quán)限

描述

ALL PRIVILEGES

影響除 WITH GRANT OPTION 之外的所有權(quán)限

ALTER

影響 ALTER TABLE 命令的使用

ALTER ROUTINE

影響創(chuàng)建存儲(chǔ)例程的能力

CREATE

影響 CREATE TABLE 命令的使用

CREATE ROUTINE

影響更改和棄用存儲(chǔ)例程的能力

CREATE TEMPORARY TABLES

影響 CREATE TEMPORARY TABLE 命令的使用

CREATE USER

影響創(chuàng)建、棄用;重命名和撤銷用戶權(quán)限的能力

CREATE VIEW

影響 CREATE VIEW 命令的使用

DELETE

影響 DELETE 命令的使用

DROP

影響 DROP TABLE 命令的使用

EXECUTE

影響用戶運(yùn)行存儲(chǔ)過程的能力

EVENT

影響執(zhí)行事件的能力(從 MySQL5.1.6 開始)

FILE

影響 SELECT INTO OUTFILE 和 LOAD DATA INFILE 的使用

GRANT OPTION

影響用戶委派權(quán)限的能力

INDEX

影響 CREATE INDEX 和 DROP INDEX 命令的使用

INSERT

影響 INSERT 命令的使用

LOCK TABLES

影響 LOCK TABLES 命令的使用

PROCESS

影響 SHOW PROCESSLIST 命令的使用

REFERENCES

未來 MySQL 特性的占位符

RELOAD

影響 FLUSH 命令集的使用

REPLICATION CLIENT

影響用戶查詢從服務(wù)器和主服務(wù)器位置的能力

(續(xù))

權(quán)限

描述

REPLICATION SLAVE

復(fù)制從服務(wù)器所需的權(quán)限

SELECT

影響 SELECT 命令的使用

SHOW DATABASES

影響 SHOW DATABASES 命令的使用

SHOW VIEW

影響 SHOW CREATE VIEW 命令的使用

SHUTDOWN

影響 SHUTDOWN 命令的使用

SUPER

影響管理員級(jí)命令的使用,如 CHANGE、MASTER、KILL thread、mysqladmindebug、PURGE MASTER LOGS 和 SET GLOBAL

TRIGGER

影響執(zhí)行觸發(fā)器的能力(從 MySQL5.1.6 開始)

UPDATE

影響 UPDATE 命令的使用

USAGE

只連接,不授予權(quán)限

1 . 改表法。你的帳號(hào)不允許從遠(yuǎn)程登陸 MySql 服務(wù)器,只能在 localhost。

  解決辦法:

    在 localhost 的那臺(tái)電腦,登入 mysql 后,更改 mysql 數(shù)據(jù)庫里的 user 表里的 host 項(xiàng),從 localhost 改稱 %  

  (1). mysql -u root -pvmwaremysql use mysql; 

  (2). mysql update user set host = % where user = root  

  (3). mysql select host, user from user;

2 . 授權(quán)法。例如,你想 myuser 使用 mypassword 從任何主機(jī)連接到 mysql 服務(wù)器的話。

(1). GRANT ALL PRIVILEGES ON *.* TO myuser @ % IDENTIFIED BY mypassword WITH GRANT OPTION; 

(2). FLUSH   PRIVILEGES;

如果你想允許用戶 myuser 從 ip 為 192.168.1.6 的主機(jī)連接到 mysql 服務(wù)器,并使用 mypassword 作為密碼

  (1). GRANT ALL PRIVILEGES ON *.* TO myuser @ 192.168.1.3 IDENTIFIED BY mypassword WITH GRANT OPTION;  

  (2). FLUSH   PRIVILEGES;

如果你想允許用戶 myuser 從 ip 為 192.168.1.6 的主機(jī)連接到 mysql 服務(wù)器的 dk 數(shù)據(jù)庫,并使用 mypassword 作為密碼  

  (1). GRANT ALL PRIVILEGES ON dk.* TO myuser @ 192.168.1.3 IDENTIFIED BY mypassword WITH GRANT OPTION;  

  (3). FLUSH   PRIVILEGES;

  注意: 授權(quán)后必須 FLUSH PRIVILEGES; 否則無法立即生效。

另外一種方法:

3 . 在安裝 mysql 的機(jī)器上運(yùn)行: 

1、d: mysql bin mysql -h localhost -u root 

// 這樣應(yīng)該可以進(jìn)入 MySQL 服務(wù)器  

2、mysql GRANT ALL PRIVILEGES ON *.* TO root @ % WITH GRANT OPTION 

// 賦予任何主機(jī)訪問數(shù)據(jù)的權(quán)限  

3、mysql FLUSH PRIVILEGES 

// 修改生效  

4、mysql EXIT 

// 退出 MySQL 服務(wù)器  

這樣就可以在其它任何的主機(jī)上以 root 身份登錄啦!

4 . 查看 MySQL 用戶權(quán)限  

查看當(dāng)前用戶(自己)權(quán)限: 

show grants; 

查看其他 MySQL 用戶權(quán)限: 

show grants for dba@localhost;

5 . 撤銷已經(jīng)賦予給 MySQL 用戶權(quán)限的權(quán)限。 

revoke 跟 grant 的語法差不多,只需要把關(guān)鍵字“to”換成“from”即可: 

grant all on *.* to dba@localhost; 

revoke all on *.* from dba@localhost;

6 .MySQL grant、revoke 用戶權(quán)限注意事項(xiàng)  

1. grant, revoke 用戶權(quán)限后,該用戶只有重新連接 MySQL 數(shù)據(jù)庫,權(quán)限才能生效。 

2. 如果想讓授權(quán)的用戶,也可以將這些權(quán)限 grant 給其他用戶,需要選項(xiàng)“grant option“ 

grant select on testdb.* to dba@localhost with grant option; 

這個(gè)特性一般用不到。實(shí)際中,數(shù)據(jù)庫權(quán)限最好由 DBA 來統(tǒng)一管理。

7 . 用戶和權(quán)限管理命令:

create user:用于創(chuàng)建新的用戶賬戶(從 5.0 版本開始有這個(gè)命令),在創(chuàng)建這個(gè)用戶的時(shí)候不分配任何權(quán)限,

需要在創(chuàng)建之后通過 grant 命令來給改用戶分配相應(yīng)的權(quán)限。

eg:create user guest@localhost identified by 123456; 

grant select on mydb.* to guest@localhost;

drop user:刪除一個(gè)用戶賬戶(注意在 4.1.1 版本之前只能刪除沒有任何權(quán)限的賬戶,5.0.2 之后可以刪除任何賬戶)

eg:drop user guest;

rename user:可以實(shí)現(xiàn)重命名一個(gè)用戶賬號(hào)。

grant:用于管理訪問權(quán)限,也就是給用戶賬號(hào)授權(quán)。當(dāng)然它同樣可以創(chuàng)建一個(gè)新的用戶賬戶。

eg:grant select, insert, update, delete on new_db.* to guest@ % identified by 88888888

grant 權(quán)限 on 數(shù)據(jù)庫. 表 to 用戶 @ 訪問方式 identified by 密碼

grant select on mydb.* to guest@localhost identified by 123456

BTW:如果需要一個(gè)空密碼或者無密碼的賬戶,必須先用 Create User 命令,然后通過

grant 來分配權(quán)限。如果如下操作:

grant all privileges on mydb.* to visitor@ %;而在數(shù)據(jù)庫 user 表中沒有先創(chuàng)建 visitor

用戶,則會(huì)發(fā)生 1133 錯(cuò)誤 Can t find any matching row in the user table。grant 只能創(chuàng)

有密碼的賬戶。

revoke:刪除一個(gè)賬戶,具體查看 MySQL 的文檔。

8 .mysql 中可以給你一個(gè)用戶授予如 select,insert,update,delete 等其中的一個(gè)或者多個(gè)權(quán)限, 主要使用 grant 命令, 用法格式為: 

grant 權(quán)限 on 數(shù)據(jù)庫對(duì)象 to 用戶  

grant 普通數(shù)據(jù)用戶,查詢、插入、更新、刪除 數(shù)據(jù)庫中所有表數(shù)據(jù)的權(quán)利。 

grant select on testdb.* to common_user@’%’ 

grant insert on testdb.* to common_user@’%’ 

grant update on testdb.* to common_user@’%’ 

grant delete on testdb.* to common_user@’%’ 

或者,用一條 MySQL 命令來替代: 

grant select, insert, update, delete on testdb.* to common_user@’%’

9 .grant 數(shù)據(jù)庫開發(fā)人員,創(chuàng)建表、索引、視圖、存儲(chǔ)過程、函數(shù)。。。等權(quán)限。 

grant 創(chuàng)建、修改、刪除 MySQL 數(shù)據(jù)表結(jié)構(gòu)權(quán)限。 

grant create on testdb.* to developer@’192.168.0.%’; 

grant alter on testdb.* to developer@’192.168.0.%’; 

grant drop on testdb.* to developer@’192.168.0.%’; 

grant 操作 MySQL 外鍵權(quán)限。 

grant references on testdb.* to developer@’192.168.0.%’; 

grant 操作 MySQL 臨時(shí)表權(quán)限。 

grant create temporary tables on testdb.* to developer@’192.168.0.%’; 

grant 操作 MySQL 索引權(quán)限。 

grant index on testdb.* to developer@’192.168.0.%’; 

grant 操作 MySQL 視圖、查看視圖源代碼 權(quán)限。 

grant create view on testdb.* to developer@’192.168.0.%’; 

grant show view on testdb.* to developer@’192.168.0.%’; 

grant 操作 MySQL 存儲(chǔ)過程、函數(shù) 權(quán)限。 

grant create routine on testdb.* to developer@’192.168.0.%’; — now, can show procedure status 

grant alter routine on testdb.* to developer@’192.168.0.%’; — now, you can drop a procedure 

grant execute on testdb.* to developer@’192.168.0.%’;

10 .grant 普通 DBA 管理某個(gè) MySQL 數(shù)據(jù)庫的權(quán)限。 

grant all privileges on testdb to dba@’localhost’ 

其中,關(guān)鍵字“privileges”可以省略。

11 .grant 高級(jí) DBA 管理 MySQL 中所有數(shù)據(jù)庫的權(quán)限。 

grant all on *.* to dba@’localhost’

12 .MySQL grant 權(quán)限,分別可以作用在多個(gè)層次上。 

1. grant 作用在整個(gè) MySQL 服務(wù)器上: 

grant select on *.* to dba@localhost; — dba 可以查詢 MySQL 中所有數(shù)據(jù)庫中的表。 

grant all on *.* to dba@localhost; — dba 可以管理 MySQL 中的所有數(shù)據(jù)庫  

2. grant 作用在單個(gè)數(shù)據(jù)庫上: 

grant select on testdb.* to dba@localhost; — dba 可以查詢 testdb 中的表。 

3. grant 作用在單個(gè)數(shù)據(jù)表上: 

grant select, insert, update, delete on testdb.orders to dba@localhost; 

4. grant 作用在表中的列上: 

grant select(id, se, rank) on testdb.apache_log to dba@localhost; 

5. grant 作用在存儲(chǔ)過程、函數(shù)上: 

grant execute on procedure testdb.pr_add to’dba’@’localhost’ 

grant execute on function testdb.fn_add to’dba’@’localhost’

注意:修改完權(quán)限以后 一定要刷新服務(wù),或者重啟服務(wù),刷新服務(wù)用:FLUSH PRIVILEGES。

以上是“mysql 中授權(quán)和撤銷授權(quán)等命令怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-27發(fā)表,共計(jì)5192字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒有評(píng)論)
主站蜘蛛池模板: 五大连池市| 城步| 长宁区| 阳城县| 东兰县| 沈阳市| 和林格尔县| 东乌珠穆沁旗| 锦州市| 疏附县| 庄浪县| 商洛市| 恩施市| 阜宁县| 冀州市| 茂名市| 政和县| 平罗县| 吉安县| 裕民县| 盘锦市| 永修县| 江北区| 尼勒克县| 聊城市| 浪卡子县| 吐鲁番市| 米泉市| 萨嘎县| 科技| 凤阳县| 天台县| 满洲里市| 玉山县| 旅游| 师宗县| 永丰县| 左贡县| 大余县| 澄江县| 苏尼特左旗|