確定用戶是否允許連接數據庫服務器授權->確定用戶是否擁有足夠的權限執行查詢請求等。如果認證不成功的話,哪么授權肯定是無法進行的。revoke跟grant的語法差不多,只需要把關鍵字“to”換成“from”表GRANT和REVOKE管理的權限權限描述ALLPRIVILEG" />

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

MySQL GRANT REVOKE用法

系統 2156 0

原文地址: http://chenling1018.blog.163.com/blog/static/14802542010320112355598

?

MySQL的權限系統圍繞著兩個概念:

認證 ->確定用戶是否允許連接數據庫服務器

授權 ->確定用戶是否擁有足夠的權限執行查詢請求等。

如果認證不成功的話,哪么授權肯定是無法進行的。

revoke ? 跟? grant?的語法差不多,只需要把關鍵字? “to”?換成? “from”

表? GRANT和 REVOKE管理的權限

權限

描述

ALL PRIVILEGES

影響除 WITH GRANT OPTION之外的所有權限

ALTER

影響 ALTER TABLE命令的使用

ALTER ROUTINE

影響創建存儲例程的能力

CREATE

影響 CREATE TABLE命令的使用

CREATE ROUTINE

影響更改和棄用存儲例程的能力

CREATE TEMPORARY TABLES

影響 CREATE TEMPORARY TABLE命令的使用

CREATE USER

影響創建、棄用;重命名和撤銷用戶權限的能力

CREATE VIEW

影響 CREATE VIEW命令的使用

DELETE

影響 DELETE命令的使用

DROP

影響 DROP TABLE命令的使用

EXECUTE

影響用戶運行存儲過程的能力

EVENT

影響執行事件的能力(從 MySQL 5.1.6開始)

FILE

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

GRANT OPTION

影響用戶委派權限的能力

INDEX

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

INSERT

影響 INSERT命令的使用

LOCK TABLES

影響 LOCK TABLES命令的使用

PROCESS

影響 SHOW PROCESSLIST命令的使用

REFERENCES

未來 MySQL特性的占位符

RELOAD

影響 FLUSH命令集的使用

REPLICATION CLIENT

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

(續)

權限

描述

REPLICATION SLAVE

復制從服務器所需的權限

SELECT

影響 SELECT命令的使用

SHOW DATABASES

影響 SHOW DATABASES命令的使用

SHOW VIEW

影響 SHOW CREATE VIEW命令的使用

SHUTDOWN

影響 SHUTDOWN命令的使用

SUPER

影響管理員級命令的使用,如 CHANGE、 MASTER、 KILL thread、 mysqladmin debug、 PURGE MASTER LOGS和 SET GLOBAL

TRIGGER

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

UPDATE

影響 UPDATE命令的使用

USAGE

只連接,不授予權限

1>.改表法。

你的帳號不允許從遠程登陸 MySql服務器,只能在 localhost。

解決辦法:

localhost的那臺電腦,登入 mysql后,更改? "mysql"?數據庫里的? "user"?表里的? "host"?項,從 "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>.?授權法。例如,你想 myuser使用 mypassword從任何主機連接到 mysql服務器的話。

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

(2). FLUSH PRIVILEGES;

?

如果你想允許用戶 myuser從 ip為 192.168.1.6的主機連接到 mysql服務器,并使用 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的主機連接到 mysql服務器的 dk數據庫,并使用 mypassword作為密碼

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

(3). FLUSH PRIVILEGES;

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

?

另外一種方法 :

3>.在安裝 mysql的機器上運行:

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

//這樣應該可以進入 MySQL服務器

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

//賦予任何主機訪問數據的權限

3、 mysql>FLUSH PRIVILEGES

//修改生效

4、 mysql>EXIT

//退出 MySQL服務器

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

?

4>. 查看? MySQL?用戶權限

查看當前用戶(自己)權限:

show grants;

查看其他? MySQL?用戶權限:

show grants for? dba@localhost ;

?

5>. 撤銷已經賦予給? MySQL?用戶權限的權限。

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

grant all on *.* to dba@localhost;

revoke all on *.* from? dba@localhost ;

?

6>.MySQL grant revoke?用戶權限注意事項

1. grant, revoke?用戶權限后,該用戶只有重新連接? MySQL?數據庫,權限才能生效。

2.?如果想讓授權的用戶,也可以將這些權限? grant?給其他用戶,需要選項? “grant option“

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

這個特性一般用不到。實際中,數據庫權限最好由? DBA?來統一管理。

?

7>.用戶和權限管理命令:

create user?:用于創建新的用戶賬戶(從 5.0版本開始有這個命令),在創建這個用戶的時候不分配任何權限,

需要在創建之后通過 grant命令來給改用戶分配相應的權限。

eg: create user guest@localhost identified by '123456';

grant select on mydb.* to guest@localhost;

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

eg: drop user guest;

rename user:可以實現重命名一個用戶賬號。

grant:用于管理訪問權限,也就是給用戶賬號授權。當然它同樣可以創建一個新的用戶賬戶。

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

grant?權限? on?數據庫 .表? to?用戶? @?訪問方式? identified by?密碼

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

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

grant來分配權限。如果如下操作:

grant all privileges on mydb.* to visitor@'%'?;而在數據庫 user表中沒有先創建 visitor

用戶,則會發生 1133錯誤 "Can't find any matching row in the user table"。

注: grant只能創有密碼的賬戶。

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

?

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

grant?權限? on?數據庫對象? to?用戶

grant?普通數據用戶,查詢、插入、更新、刪除數據庫中所有表數據的權利。

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?數據庫開發人員,創建表、索引、視圖、存儲過程、函數。。。等權限。

grant?創建、修改、刪除? MySQL?數據表結構權限。

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?外鍵權限。

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

grant?操作? MySQL?臨時表權限。

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

grant?操作? MySQL?索引權限。

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

grant?操作? MySQL?視圖、查看視圖源代碼 權限。

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

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

grant?操作? MySQL?存儲過程、函數 權限。

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?管理某個? MySQL?數據庫的權限。

grant all privileges on testdb to dba@’localhost’

其中,關鍵字? “privileges”?可以省略。

11>.grant?高級? DBA?管理? MySQL?中所有數據庫的權限。

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

12>.MySQL grant?權限,分別可以作用在多個層次上。

1. grant?作用在整個? MySQL?服務器上:

grant select on *.* to dba@localhost; -- dba?可以查詢? MySQL?中所有數據庫中的表。

grant all on *.* to dba@localhost; -- dba?可以管理? MySQL?中的所有數據庫

2. grant?作用在單個數據庫上:

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

3. grant?作用在單個數據表上:

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?作用在存儲過程、函數上:

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

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

注意:修改完權限以后一定要刷新服務,或者重啟服務,刷新服務用: FLUSH PRIVILEGES。

MySQL GRANT REVOKE用法


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 最新日本免费一区二区三区中文 | 国产成人精品日本亚洲直接 | 久久久久久久综合狠狠综合 | 欧美日韩免费 | 草草伊人 | 久久99精品这里精品动漫6 | 91精品国产高清久久久久久io | 色狠狠一区二区 | 国产精品久久久久久久久免费 | 成人久久伊人精品伊人 | 亚洲欧洲一区二区 | 综合欧美日韩一区二区三区 | 国产一区二区免费在线观看 | 国产乱人伦精品一区二区 | 久操视频在线观看 | 四虎影视精品永久免费网站 | 中文线码中文高清播放中 | 国产精品人成 | 久久久国产99久久国产一 | 国产欧美亚洲三区久在线观看 | 四虎影视免费观看 | 九九毛片 | 国产无套乱子伦精彩是白视频 | 国产一区视频在线 | 色偷偷青青草原在线视频 | 在线观看一级毛片 | 素人巨乳被调教 | 国产色产综合色产在线观看视频 | 99视频免费看 | 九九干| 日韩中文在线观看 | 天天做夜夜做久久做狠狠 | 久久国产乱子伦精品免费看 | 久久久性| 天天影视欧美综合在线观看 | 欧美一欧美一区二三区性 | av亚洲男人天堂 | 九九影片重口味 | 久久影视一区 | 狠狠插狠狠干 | 亚洲另类网 |