一.用户信息
MySQL中的用户,都存储在系统数据库mysql的user表中。
- host: 表示这个用户可以从哪个主机登陆,如果是localhost,表示只能从本机登陆
- user: 用户名
- authentication_string: 用户密码通过password函数加密后的
- *_priv: 用户拥有的权限
二 . 创建用户
语法:
create user '用户名'@'登陆主机/ip' identified by '密码';
案例如下:
此时便可以使用新账号新密码进行登陆 ,关于新增用户这里,需要大家注意,不要轻易添加一个可以从任意地方登陆的user。
三. 删除用户
语法:
drop user '用户名'@'主机名'
案例如下:
如果用drop user whb尝试删除删除不了,直接给个用户名, 不能删除,它默认是%,表示所有地方可以登陆的用户。
四.修改用户密码
自己改自己密码:
set password=password('新的密码');
root用户修改指定用户的密码:
set password for '用户名'@'主机名'=password('新的密码');
如:
五.数据库权限
MySQL数据库提供的权限列表:
1.给用户授权
语法:
grant 权限列表 on 库.对象名 to '用户名'@'登陆位置' [identified by '密码']
说明:
- 权限列表,多个权限用逗号分开,如grant select, delete, create on ....,grant all [privileges] on ... -- 表示赋予该用户在该对象上的所有权限。
- *.* : 代表本系统中的所有数据库的所有对象(表,视图,存储过程等)
- 库.* : 表示某个数据库中的所有数据对象(表,视图,存储过程等)
- identified by可选。 如果用户存在,赋予权限的同时修改密码,如果该用户不存在,就是创建用户
我们以whb用户的身份登入,查看数据库,只能看到一个数据库,查看数据库需要权限。
我们以root用户身份为whb赋予权限:
再次以whb身份查看,就能查看到mysql 库和其中的表格
2 .回收权限
语法:
revoke 权限列表 on 库.对象名 from '用户名'@'登陆位置';
如:
回收whb对mysql库的权限。再次用whb身份查看,就看不到mysql库了。
讲解就到这了,求点赞。