本篇文章給大家了解一下mysql中的用戶管理,介紹一下添加用戶、授權和刪除用戶的方法,希望對大家有所幫助!
不要直接使用 root 用戶管理應用數據。【相關推薦:mysql視頻教程】
添加用戶
以root用戶登錄數據庫,運行以下命令:
create?user?zhangsan?identified?by?'zhangsan';
上面的命令創建了用戶 zhangsan, 密碼是 zhangsan. 在 mysql.user 表里可以查看到新增用戶的信息:
select?User,?Host,?Password?from?mysql.user?where?User?=?'zhangsan';
授權
命令格式: grant privilegesCode on dbName.tableName to username@host identified by “password”;
grant?all?privileges?on?zhangsanDb.*?to?zhangsan@'%'?identified?by?'zhangsan'; flush?privileges;
上面的語句將 zhangsanDb 數據庫的所有操作權限都授權給了用戶 zhangsan.
在 mysql.db 表里可以查看到新增數據庫權限的信息:
select?User,?Db,?Host,?Select_priv,?Insert_priv,?Update_priv,?delete_priv?from?mysql.db?where?User?=?'zhangsan';
也可以通過 show grants 命令查看權限授予執行的命令:
show?grants?for?'zhangsan';
privilegesCode 表示授予的權限類型, 常用的有以下幾種類型[1]
- all privileges: 所有權限
- select: 讀取權限
- delete: 刪除權限
- update: 更新權限
- create: 創建權限
- drop: 刪除數據庫、數據表權限
dbName.tableName 表示授予權限的具體庫或表, 常用的有以下幾種選項
- .: 授予該數據庫服務器所有數據庫的權限
- dbName.*: 授予dbName數據庫所有表的權限
- dbName.dbTable: 授予數據庫dbName中dbTable表的權限
username@host 表示授予的用戶以及允許該用戶登錄的IP地址. 其中Host有以下幾種類型
- localhost: 只允許該用戶在本地登錄, 不能遠程登錄
- %: 允許在除本機之外的任何一臺機器遠程登錄
- 192.168.52.32: 具體的 IP 表示只允許該用戶從特定IP登錄.
password 指定該用戶登錄時的密碼
flush privileges 表示刷新權限變更
修改密碼
運行以下命令可以修改用戶密碼:
update?mysql.user?set?password?=?password('zhangsannew')?where?user?=?'zhangsan'?and?host?=?'%'; flush?privileges;
刪除用戶
運行以下命令可以刪除用戶:
drop?user?zhangsan@'%';
drop user 命令會刪除用戶以及對應的權限, 執行命令后你會發現 mysql.user 表和 mysql.db 表的相應記錄都消失了.
常用命令組
創建用戶并授予指定數據庫全部權限
適用于Web應用創建MySQL用戶
create?user?zhangsan?identified?by?'zhangsan'; grant?all?privileges?on?zhangsanDb.*?to?zhangsan@'%'?identified?by?'zhangsan'; flush?privileges;
創建了用戶 zhangsan , 并將數據庫 zhangsanDB 的所有權限授予 zhangsan。如果要使 zhangsan 可以從本機登錄,那么可以多賦予 localhost 權限:
grant?all?privileges?on?zhangsanDb.*?to?zhangsan@'localhost'?identified?by?'zhangsan';
【相關推薦:mysql視頻教程】
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END