MySQL创建用户并赋权限
- 省流
 - 1.创建mysql用户
 - 1.1 新建用户
 - 1.2 查询用户信息
 
- 2. 授权用户
 - 2.1 指定数据库和表赋权
 - 2.2 赋予全部权限
 - 2.3 查看用户权限
 - 2.4 回收用户权限
 
- 3. 修改用户密码
 - 4. 删除用户
 - 5. 刷新权限(务必执行)
 
省流
如果只是希望新建一个用户并且赋予全部执行权限,可以执行以下命令,并且以下内容可以不用看
CREATE USER 'username'@'%' IDENTIFIED BY 'PassWord@123';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%';
FLUSH PRIVILEGES;
 
1.创建mysql用户
1.1 新建用户
语法
CREATE USER 'username'@'host' IDENTIFIED BY 'PassWord@123';
 
| 参数 | 含义 | 
|---|---|
| username | 需要被创建的用户名 | 
| host | 指定主机可以登录,localhost:表示本地用户可用,%:通配符表示允许任意远程主机登陆 | 
| password | 用户登录密码,建议设置为大小写加特殊符号 | 
示例
CREATE USER 'zhouquan'@'%' IDENTIFIED BY 'Zq_123456';
 

1.2 查询用户信息
SELECT USER FROM mysql.USER;
 

2. 授权用户
语法
GRANT privileges ON databasename.tablename TO 'username'@'host' 
 
| 参数 | 含义 | 
|---|---|
| privileges | 用户的操作权限:insert,select,update等,所有权限使用ALL | 
| databasename | 指定可以操作的数据库,通配符“*”表示所有库 | 
| tablename | 指定可以操作的数据表,通配符“*”表示所有表 | 
| host | 指定主机可以登录,localhost:表示本地用户可用,%:通配符表示允许任意远程主机登陆 | 
2.1 指定数据库和表赋权
示例1: 授权给zhouquan用户test数据库的data数据表的查询和插入操作
GRANT SELECT, INSERT ON test.data TO 'zhouquan'@'%';
 
2.2 赋予全部权限
示例2:授权zhouquan用户可以操作所有权限
GRANT ALL ON *.* TO 'zhouquan'@'%';
 
2.3 查看用户权限
show grants for 'zhouquan';
 
2.4 回收用户权限
revoke privileges on dbname[.tbname] from username;
 
收回用户数据库的所有权限
revoke all privileges on *.* from username;
 
3. 修改用户密码
use mysql;
select * from user;
update user set password = password('New@PassWord') where user = 'username';
 
4. 删除用户
如果直接从数据库delete删除用户,再次创建该用户时会报错
CREATE USER 'zhouquan'@'%' IDENTIFIED BY 'Zq_123456'
> 1396 - Operation CREATE USER failed for 'zhouquan'@'%'
> 时间: 0.01s
 
因此删除用户需要使用以下命令
drop user 'zhouquan'@'%';
 
5. 刷新权限(务必执行)
FLUSH PRIVILEGES;
                


















