1、创建用户
create user zhangsan identified by '123456'
2、查看用户
select host, user, authentication_string, select_priv, insert_priv, drop_priv from mysql.user;
① host:表示连接类型,%表示所有远程通过TCP方式的连接
② user:表示用户名,同一用户通过不同方式连接的权限是不一样的
③ password:密码。加密算法为MYSQLSHA1,不可逆。Mysql 5.7的密码保存到authentication_string字段中,不再使用password字段。
④ select_priv, insert_priv等为该用户所拥有的的权限。
3、设置密码
① 修改当前用户密码
set password=password('123456')
② 修改某个用户的密码
update mysql.user set password=password('123456') where user = 'zhangsan';
flush privileges; 所有通过user表的修改,必须执行该命令才能生效
4、修改用户名
update mysql.user set user = 'lisi' where user = 'zhangsan';
flush privileges; 所有通过user表的修改,必须执行该命令才能生效
5、删除用户
drop user zhangsan;
注意:不要通过delete from user u where user = 'zhangsan'; 系统会有残留信息保留。
1、授予权限
① 授予zhangsan对mydb数据库下的所有表的增删查改操作的权限
grant insert, delete, select, update on mydb.* to zhangsan@localhost;
② 授予 远程访问的用户root 所有库所有表的全部权限
grant all privileges on *.* to root@'%' identified by '123456';
2、收回权限
① 查看当前用户权限
show grants;
② 收回全库全表的所有权限
revoke all privileges on *.* from root@localhost;
③ 收回 mydb数据库 下的所有表的增删查改权限
revoke insert, delete, select, update on mydb.* from root@localhost;
注意:必须用户重新登录后才能生效
3、查看权限
① 查看当前用户权限
show grants;
② 查看某用户的全局权限
select * from user;
③ 查看某用户的某个表的权限
select * from tables_priv;