一 用户管理
1.1 用户与密码操作
1.创建名称为 zhang3 的用户,密码设为 123123
create user zhang3 identified by '123123' ;
2.查看用户权限
select host,user,authentication_string,select_priv,insert_priv,drop_priv from mysql.user;
3.修改当前用户密码
set password =password('123456')
所有通过 user 表的修改,必须 用 flush privileges;命令才能生 效
4.修改其他用户的密码
update user set password = password('你的新密码') where user = 'root';
(注意5.7版本以上,不再支持password 这种写法,换成如下这种写法)
update user set authentication_string=password('123') where user='root'
所有通过 user 表的修改,必须 用 flush privileges;命令才能生 效
5.修改用户名
update mysql.user set user='li4' where user='wang5';
所有通过 user 表的修改,必须 用 flush privileges;命令才能生 效
6.删除用户名
drop user li4
所有通过 user 表的修改,必须 用 flush privileges;命令才能生 效
不要通过
delete from user u where user='li4' 进行删除,系 统会有残留信息保留。
二 权限管理
2.1 授予权限
grant
权限
1,
权限
2,
…权限
n on
数据库名称
. 表名称 to
用户名
@
用户地址
identified by
‘连接口令’
作用:该权限如果发现没有该用户,则会直接新建一个用户。
案例:
1.grant select,insert,delete,drop on atguigudb.* to li4@localhost ;
给 li4 用户用本地命令行方式下,授予 atguigudb 这个库下的所有表的插删改查的权限。
2.grant all privileges on *.* to joe@'%' identified by '123';
授予通过网络方式登录的的 joe 用户 ,对所有库所有表的全部权 限,密码设为 123.
%
表示所有远程通过
TCP
方式的连接
* 任意
2.2 查看权限
show grants;
2.3 收回权限命令
revoke [
权限
1,
权限
2,
…权限
n] on 库名.
表名
from
用户名
@
用户地址
;
案例:
1.REVOKE ALL PRIVILEGES ON mysql.* FROM joe@localhost;
收回全库全表的所有权限
2.
REVOKE select,insert,update,delete ON mysql.* FROM joe@localhost;
收回
mysql
库下的所有表的插删改查 权限
权限收回后,必须用户重新登录后,才能生效。