MySQL用戶管理

合理的管理DB用戶權限是一個DBA的基本工作,這里整理一下MySQL用戶管理的相關內(nèi)容。

目前成都創(chuàng)新互聯(lián)公司已為1000多家的企業(yè)提供了網(wǎng)站建設、域名、虛擬空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設計、荊門網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

CREATE USER、DROP USER、RENAME USER 
用來創(chuàng)建、刪除、修改MySQL用戶

GRANT 
為給定MySQL用戶分配權限

REVOKE 撤銷已給定MySQL用戶的相關權限

SET PASSWORD 為MySQL用戶配置密碼

SHOW GRANTS 顯示給定MySQL用戶的權限 
相關用戶及權限的信息都會記錄在MySQL數(shù)據(jù)庫中的權限表中,如下: 
user 可連接到數(shù)據(jù)庫的用戶及其全局權限 
db 數(shù)據(jù)庫級權限 
table_priv 數(shù)據(jù)表級權限 
columns_priv 數(shù)據(jù)列級權限 
procs_priv 與存儲例成相關的權限

MySQL用戶管理 
創(chuàng)建MySQL用戶(擁有創(chuàng)建MySQL 用戶權限的用戶才可以創(chuàng)建,下面例子以root用戶為測試用戶)

mysql> create user kevin@'%' identified by 'oracle';
Query OK, 0 rows affected (0.00 sec)mysql> select user, host, password from mysql.user where user='kevin';
+-------+------+-------------------------------------------+| user  | host | password                                  |
+-------+------+-------------------------------------------+| kevin | %    | *2447D497B9A6A15F2776055CB2D1E9F86758182F |
+-------+------+-------------------------------------------+1 row in set (0.00 sec)

kevin@’%’ 用戶名+主機名 
% 字符通配符,表示任意字符 
MySQL通過配置主機名來限制通過索要創(chuàng)建的MySQL用戶登錄的主機,%表示任意主機都可以登入。 
kevin@10.8.1.% 表示10.8.1段的主機可以登入 
kevin@’Oracle.com.cn’ 表示主機名為oracle.com.cn的主機可以通過kevin用戶登入。

對MySQL賬戶授權 
syntax: 
GRANT privileges (columns) 
on what 
TO account 
[identified by ‘password’] 
[REQUIRE encryption requirements] 
[WITH grant or resource management options]

如果grant語句中賬戶不存在則先創(chuàng)建相應賬戶,再把給定權限分配給它。 
privilege 授予賬戶的權限。 
what 權限的級別。 最高級別是全局,給定的權限用于所有的數(shù)據(jù)庫和所有的數(shù)據(jù)表。同時,權限還可以設置為數(shù)據(jù)庫、表、列及存儲過程級別。 
account 被授予權限的賬號。 
password 修改賬戶的口令 
columns 權限作用列

REQUIRE和WITH子句是可選的,require子句用于使用SSL進行安全連接。WITH子句用來授予GRANT OPTION權限(允許把賬戶自己的權限授予別人)。

賬戶權限整理 
數(shù)據(jù)庫管理權限 
CREATE USER FILE(READ OR WRITE MYSQL SERVER’S FILES) GRANT OPTION RELOAD PROCESS REPLICATION CLIENT REPLICATION SLAVE SHUTDOWN SUPER(kill command to shutdown processes or other super user operation) 
數(shù)據(jù)庫對象權限 
ALTER/ALTER ROUTINE/CREATE/CREATE ROUTINE/CREATE TEMPORARY TABLES/CREATE VIEWS/DELETE/DRPOP/EVENT/EXECUTE/INDEX/INSERT/LOCK TABLES/REFERENCE/SELECT/SHOW VIEW/TRIGGER/UPDATE 
其它權限 
ALL ALL operations inluding GRANT privilege 
USAGE a special privilege and means NULL privilege

用戶在授權時必須擁有相應的權限及GRANT OPTION權限。同時,MySQL權限范圍包括數(shù)據(jù)庫系統(tǒng)全局,數(shù)據(jù)庫,數(shù)據(jù)表,數(shù)據(jù)列等多種范圍,付權時通過ON子句控制賦予權限的范圍,如下: 
ON . 全局權限 
ON * 如果沒有指定數(shù)據(jù)庫(use db),則是全局權限,否則是是定數(shù)據(jù)庫默認對象的權限。 
ON db_name.* 數(shù)據(jù)庫級別權限 
ON db_name.tbl_name 數(shù)據(jù)庫表級權限 
ON tbl_name 數(shù)據(jù)表級權限 
ON db_name。routie_name 存儲例程權限

查看用戶擁有的權限。

mysql> show grants for system;
+----------------------------------------------------------------------------------------------------------------+| Grants for system@%                                                                                            |
+----------------------------------------------------------------------------------------------------------------+| GRANT ALL PRIVILEGES ON *.* TO 'system'@'%' IDENTIFIED BY PASSWORD '*58319282EAB9E38D49CA25844B73DA62C80C2ABC' |
+----------------------------------------------------------------------------------------------------------------+1 row in set (0.00 sec)12345671234567

撤銷權限和刪除用戶 
REVOKE privileges [columns] ON what FROM account;

修改用戶的口令 
SET PASSWORD FOR system@’%’ = PASSWORD(‘PASSWD’)

當然,增加、修改用戶的權限也可以直接insert、update mysql.user表,這些操作就需要感性卻的初學者試一下了。

網(wǎng)頁題目:MySQL用戶管理
網(wǎng)頁路徑:http://bm7419.com/article22/psdhcc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、定制開發(fā)網(wǎng)站建設、品牌網(wǎng)站制作、響應式網(wǎng)站、微信公眾號

廣告

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

綿陽服務器托管