一、介紹 DCL:Data Control Language(數據控制語言),用來管理資料庫用戶,控制資料庫的訪問,許可權。 二、用戶管理 1、查詢用戶 語法: 1、use mysql; 2、select * from user; 預設只有四個賬戶。 2、創建用戶 語法:create user '用戶 ...
一、介紹
DCL:Data Control Language(數據控制語言),用來管理資料庫用戶,控制資料庫的訪問,許可權。
二、用戶管理
1、查詢用戶
語法:
1、use mysql;
2、select * from user;
預設只有四個賬戶。
2、創建用戶
語法:create user '用戶名'@'主機名' identified by '密碼';
houlei這個就是新創建的,但是只能在本機上訪問,因為主機名這裡寫的是localhost,如果換成通配符"%"就可以在所有主機上訪問
示例:create user 'Se7eN'@'%' identified by '123456';
3、修改用戶密碼
alter user '用戶名'@'主機名' identified with mysql_native_password by '新密碼';
4、刪除用戶
drop user '用戶名'@'主機名'
示例:
5、註意
* 主機名可以使用%通配
* 這類SQL開發人員操作較少,主要是DBA(Database Administrator 資料庫管理員)使用
三、許可權控制
1、常用許可權及說明
-
- all/all privileges: 所有許可權
- select: 查詢數據許可權
- insert: 插入數據許可權
- update:修改數據許可權
- delete:刪除數據的許可權
- alter:修改表的許可權
- drop:刪除資料庫/表/視圖
- create:創建資料庫/表的許可權
2、查詢許可權
語法:show grants for '用戶名'@'主機名';
3、授予許可權
語法:grant 許可權列表 on 資料庫名.表名 to '用戶名'@'主機名';
示例:
為其添加mysql_test資料庫中的table_test表的許可權
4、撤銷許可權
語法:revoke 許可權列表 on 資料庫名.表名 from '用戶名'@'主機名';
示例:撤銷Se7eN賬號的,mysql_test資料庫中table_test表的所有許可權
5、註意:
* 所有許可權的設置及撤銷的時候,使用的是root賬號。
* 多個許可權之間,使用逗號
* 授權時,資料庫名和表名可以使用*進行通配,代表所有
侯哥語錄:我曾經是一個職業教育者,現在是一個自由開發者。我希望我的分享可以和更多人一起進步。分享一段我喜歡的話給大家:"我所理解的自由不是想乾什麼就乾什麼,而是想不幹什麼就不幹什麼。當你還沒有能力說不得時候,就努力讓自己變得強大,擁有說不得權利。"