溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL 用戶管理

發布時間:2020-08-11 19:42:34 來源:網絡 閱讀:417 作者:Kevin_ora 欄目:數據庫

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

CREATE USER、DROP USER、RENAME USER 
用來創建、刪除、修改MySQL用戶

GRANT 
為給定MySQL用戶分配權限

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

SET PASSWORD 為MySQL用戶配置密碼

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

MySQL用戶管理 
創建MySQL用戶(擁有創建MySQL 用戶權限的用戶才可以創建,下面例子以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通過配置主機名來限制通過索要創建的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語句中賬戶不存在則先創建相應賬戶,再把給定權限分配給它。 
privilege 授予賬戶的權限。 
what 權限的級別。 最高級別是全局,給定的權限用于所有的數據庫和所有的數據表。同時,權限還可以設置為數據庫、表、列及存儲過程級別。 
account 被授予權限的賬號。 
password 修改賬戶的口令 
columns 權限作用列

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

賬戶權限整理 
數據庫管理權限 
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) 
數據庫對象權限 
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權限范圍包括數據庫系統全局,數據庫,數據表,數據列等多種范圍,付權時通過ON子句控制賦予權限的范圍,如下: 
ON . 全局權限 
ON * 如果沒有指定數據庫(use db),則是全局權限,否則是是定數據庫默認對象的權限。 
ON db_name.* 數據庫級別權限 
ON db_name.tbl_name 數據庫表級權限 
ON tbl_name 數據表級權限 
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表,這些操作就需要感性卻的初學者試一下了。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女