MySQL用戶管理:添加用戶、授權、刪除用戶

https://www.cnblogs.com/chanshuyi/p/mysql_user_mng.html

MySQL用戶管理:添加用戶、授權、刪除用戶

添加用戶

以root用戶登錄數據庫,運行以下命令:

create user zhangsan identified by 'zhangsan';

上面的命令創建了用戶zhangsan,密碼是zhangsan。在mysql.user表裡可以查看到新增用戶的信息:

MySQL用戶管理:添加用戶、授權、刪除用戶

命令格式: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表裡可以查看到新增數據庫權限的信息:

MySQL用戶管理:添加用戶、授權、刪除用戶

也可以通過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表示刷新權限變更。

MySQL用戶管理:添加用戶、授權、刪除用戶

修改密碼

運行以下命令可以修改用戶密碼

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';
  • [1].百度.更多關於MySQL數據庫權限類型(PrivilegesCode).[DB/OL].2013-07-13
  • [2].博客園.MySQL添加用戶、刪除用戶與授權.[DB/OL].2011-12-15


分享到:


相關文章: