一、mysql用戶管理的必要性
如果我們只能使用root用戶,這樣安全隱患, 這時,我們需要使用mysql的用戶管理技術.
一次獲得|分配權限user->db->tables_priv->columns_priv ; 權限范圍一次遞減,全局權限覆蓋局部權限。換句話說user表中的每個權限都代表了對所有數據庫都有的權限。
二、mysql用戶存放在 user表
說明: mysql的用戶都是存在在 mysql->user表中.
三、mysql用戶的創建
基本語法:
CREATE USER '用戶名'@'登錄主機/ip' identified by '密碼';
案例說明:
只有登錄權限
四、mysql用戶的刪除
基本語法:
drop user '用戶名'@'主機名';
案例說明:
五、如何對mysql用戶修改密碼
基本語法
自己給自己改
mysql> set password = password('新的密碼');
root用戶幫你修改
mysql>set password for '用戶名'@'主機名' = password('新的密碼');
案例說明
六、mysql數據庫的權限有
七、給mysql用戶賦權限
基本語法
grant 權限列表 on 庫.對象名 to '用戶名'@'主機名' [identified by '密碼']
說明:
如果不給 [identified 表示 直接給某個用戶分配權限]
如果給了【identified】 則,如果用戶存在,相當於賦權限時,同時修改密碼,如果用戶不存在,創建一個新的用戶,同時賦權限.
案例說明
關於賦權限的細節說明
說明:如果我們發現賦權限后,沒有生效,請執行刷新權限的指令
FLUSH PRIVILEGES;
八、如何回收權限
基本語法:
revoke 權限列表 on 庫.對象名 from '用戶名"@"登錄位置';
案例說明:
mysql用戶的細節說明
九、如何查看某個用戶分配了哪些權限
show grants for user@host;
host 可以不寫 默認為 %,
v5.0后,可利用新增的information_schema數據庫進行權限的查看:
select * from SCHEMA_PRIVILEGES where grantee="'user'@'host'";