MySQL数据库8(十八)用户权限管理
用戶權限管理
用戶權限管理:在不同的項目中給不同的角色(開發者)不同的操作權限,為了保證數據庫數據的安全
?
用戶管理
Mysql需要客戶端進行連接認證才能進行服務器操作,需要用戶信息。Mysql中所有用戶的信息都保存在mysql數據庫下的user表中。
?
默認的,在安裝mysql的時候,如果沒有創建匿名用戶,那么意味著所有的用戶只有一個;root超級用戶
?
PS:修改root用戶密碼:?alter user'root'@'localhost' identified by '新密碼';?
?
?
在mysql中,對用戶的用戶管理中,是由對應的host和user共同組成主鍵來區分用戶;
User:代表用戶的用戶名
Host:代表本機是允許訪問的客戶端(ip或者主機地址)。如果host使用*,代表所有的用戶(客戶端)都可以進行訪問
創建用戶
理論上講,可采用兩種方案創建用戶:
1、直接使用root用戶在mysql.user表中插入記錄(不推薦)
2、專門用于創建用戶的SQL指令
基本語法:create user 'username'@'host' identified by ‘password’;
?
username:你將創建的用戶名
host:指定該用戶在哪個主機上可以登陸,如果是本地用戶可用localhost,如果想讓該用戶可以從任意遠程主機登陸,可以使用通配符%。通配符%可以用作整個主機名,或者用作主機名的一部分。如果主機名為空,表示是一個通配符,但比%通配符通配范圍低。
password:該用戶的登陸密碼,密碼可以為空,如果為空則該用戶可以不需要密碼登陸服務器
?
查看mysql.user是否存在新增的用戶
??
簡化創建用戶
?
?
刪除用戶
注意:mysql中user是帶著host本身的(具有唯一性)
基本語法:drop user 'username'@'host';
?
修改用戶密碼
Mysql中提供了多種修改的方式,基本上都必須使用對應提供的一個系統函數:password(),需要靠該函數對密碼進行加密處理。
?
使用專門的修改密碼的指令
基本語法: set password for 'username'@'host' = ‘newpassword’;
如果是當前用戶:set password = ‘newpassword’;
?
?
權限管理
在mysql中將權限管理分為三類:
1、數據權限:增刪改查(select、update、delete、insert)
2、結構權限:結構操作(create、drop)
3、管理權限:權限管理(create user、grant、revoke):通常只給管理員如此權限
授予權限:grant
將權限分配給指定的用戶:
基本語法:grant 權限列表 on 數據庫/*.表名/* to 用戶 [with grant option];
權限列表:使用逗號分隔,但是可以使用all privileges 代表全部權限
數據庫.表名:可以是單表(數據庫名字.表名),可以是具體某個數據庫(數據庫.*),也可以是整庫(*.*)
mysql中只有with grant option,對A用戶進行的授權,A可以授予給其他用戶,當收回對A的授權時,A授予給其他用戶的權限不會被級聯收回。注意with grant option也可以被授予給其他用戶。
?
?
具體權限查看:單表權限只能看到數據庫中的一張表
Show語句的一個變體用來查看用戶被授予的權限:
show grants for user;
?
?
取消權限:revoke
權限回收:將權限從用戶手中收回。
?
基本語法:revoke 權限列表/all privileges on 數據庫/*.表名/* from 用戶;
授予權限時如果有with grant option必須再執行
revoke grant option from 'test1'@'localhost';
完整才能回收其權限。
?
權限回收,同樣不需要刷新,用戶馬上就會感受到
?
?
刷新權限:flush
(1)Flush;刷新,將當前對用戶的權限操作,進行一個刷新,將操作的具體內容同步到對應的表中。此操作需要在mysql命令提示符下執行(需要以管理員身份登錄)。
基本語法:flush privileges;
(2)mysqladmin flush-privileges
(3)mysqladmin reload
(2)和(3)需要在操作系統環境下運行。
最后,mysql服務器將在重新啟動時重新載入授權表。
當用戶下次再連接時,全局級別權限將再次被檢查。當下一個use語句觸發時,數據庫權限將被檢查,而表級別和列級別權限將在用戶下次請求時檢查。
密碼丟失找回
如果忘記了root用戶密碼,就需要去找回或者重置root用戶密碼
?
https://blog.csdn.net/gupao123456/article/details/80766154
轉載于:https://www.cnblogs.com/sun-yanglu/p/9612806.html
總結
以上是生活随笔為你收集整理的MySQL数据库8(十八)用户权限管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python处理pdf实例_Python
- 下一篇: 达梦数据库8自动备份教程