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

添加用戶

以root用戶登陸數據庫,運行如下命令:html

create user zhangsan identified by 'zhangsan';

上面的命令建立了用戶zhangsan,密碼是zhangsan。在mysql.user表裏能夠查看到新增用戶的信息:mysql

受權

命令格式:grant privilegesCode on dbName.tableName to username@host identified by "password";sql

grant all privileges on zhangsanDb.* to zhangsan@'%' identified by 'zhangsan'; flush privileges;

上面的語句將zhangsanDb數據庫的全部操做權限都受權給了用戶zhangsan。數據庫

在mysql.db表裏能夠查看到新增數據庫權限的信息:服務器

也能夠經過show grants命令查看權限授予執行的命令:markdown

show grants for 'zhangsan';

privilegesCode表示授予的權限類型,經常使用的有如下幾種類型[1]:app

  • all privileges:全部權限。
  • select:讀取權限。
  • delete:刪除權限。
  • update:更新權限。
  • create:建立權限。
  • drop:刪除數據庫、數據表權限。

dbName.tableName表示授予權限的具體庫或表,經常使用的有如下幾種選項:ide

  • .:授予該數據庫服務器全部數據庫的權限。
  • dbName.*:授予dbName數據庫全部表的權限。
  • dbName.dbTable:授予數據庫dbName中dbTable表的權限。

username@host表示授予的用戶以及容許該用戶登陸的IP地址。其中Host有如下幾種類型:post

  • localhost:只容許該用戶在本地登陸,不能遠程登陸。
  • %:容許在除本機以外的任何一臺機器遠程登陸。
  • 192.168.52.32:具體的IP表示只容許該用戶從特定IP登陸。

password指定該用戶登陸時的面。spa

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';

參考資料

相關文章
相關標籤/搜索