淺談MySQL中怎么添加刪除用戶和授權

本篇文章給大家了解一下mysql中的用戶管理,介紹一下添加用戶、授權和刪除用戶的方法,希望對大家有所幫助!

淺談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
喜歡就支持一下吧
點贊13 分享