用户与权限
MySQL用户是指在MySQL数据库服务器上拥有登录权限的账户,每个用户都有一个唯一的用户名和与之关联的密码。权限则是指用户在MySQL数据库上能够执行的操作类型,包括对数据库的访问、数据的增删改查等。
用户管理
同一个MySQL用户在不同的主机登录,可以设置不同的用户密码。有关用户和权限的基本介绍请查看右侧相关阅读栏目中的“SQL语言的DCL语句”一节。
语句格式
1、创建MySQL用户,创建用户时需指定登录密码。
- create user '用户名'@'主机名' identified by '密码'
2、修改用户密码。不同的MySQL版本在实现上略有差异,以下第一条适用于MySQL5.7.6以前版本,后两条适用于MySQL5.7.6及以后版本。
- set password for '用户名'@'主机名' = password('新密码')
- set password for '用户名'@'主机名' = '新密码'
- alter user '用户名'@'主机名' identified by '新密码'
3、删除MySQL用户。
- drop user '用户名'@'主机名'
语句示例
1、create user '用户名'@'主机名' identified by '密码':创建指定主机上的登录用户并设置用户密码。

2、修改用户密码,密码修改完成后需要执行命令flush privileges刷新权限以使密码生效。
2.1、set password for '用户名'@'主机名' = password('新密码'):适用于MySQL5.7.6以前版本,函数password()用于对密码进行加密。

2.2、set password for '用户名'@'主机名' = '新密码':适用于MySQL5.7.6及以后版本。

2.3、alter user '用户名'@'主机名' identified by '新密码':适用于MySQL5.7.6及以后版本。

3、drop user '用户名'@'主机名':删除从指定主机上登录的用户。

权限管理
同一个MySQL用户在不同的主机登录,可以设置不同的用户权限。有关用户和权限的基本介绍请查看右侧相关阅读栏目中的“SQL语言的DCL语句”一节。
语句格式
1、查看用户权限。
- show grants for '用户名'@'主机名'
2、授予用户权限。
- grant 权限列表 on 数据库名.数据表名 to '用户名'@'主机名'
3、取消用户权限。
- revoke 权限列表 on 数据库名.数据表名 for '用户名'@'主机名'
语句示例
1、grant 权限列表 on 数据库名.数据表名 to '用户名'@'主机名':授予指定主机上的登录用户在数据库与数据表上的权限。

2、revoke 权限列表 on 数据库名.数据表名 for '用户名'@'主机名':取消指定主机上的登录用户在数据库与数据表上的权限。
