day 003 创建用户 设置权限 修改用户密码等

特别注意mysql8.0 默认的密码加密方式与其他版本不同

caching_sha2_password 是比较新的加密方式,平时很多应用都不支持

caching_sha2_password 是默认的加密方式

查看加密方法

select user,plugin from user;

1、创建用户

方式一:直接使用root用户在user表中插入记录。(不推荐)

方式二:使用SQL指令创建用户

create user '用户名'@'主机地址' identified by '明文密码';

eg  create user 'onlyread'@'%' identified by '1234';

注意:主机地址可以使用'%'或者''代替,表示无限制。

mysql8.0创建用户

create user 'onlyread'@'%' identified with mysql_native_password by '1234';

2、删除用户

drop user '用户名'@'主机地址';

eg drop user 'onlyread'@'%'

drop user 用户名; //删除主机地址为'' 或者 '%' 的用户

3、修改用户密码

mysql中提供了多种修改密码的方式,基本上都必须使用对应提供的一个系统函数:password()。需要靠该函数对密码进行加密处理。

方式一:使用专门的SQL指令来修改密码

set password for 用户名 = password('新的明文密码');

方式二:使用更新语句update来修改表

update mysql.user set password = password('新的明文密码') where user = '用户名' and host='主机地址';

(mysql8.0的加密方式是caching_sha2_password  而之前的版本加密方式都是 mysql_native_password  所以这里修改和创建 mysql8.0 的用户的时候  需要修改加密方式)

mysql8.0修改密码

eg  alter user 'onlyread'@'%' identified with mysql_native_password by '1234';

权限管理

1、权限分类

mysql中将权限分3类:数据权限、结构权限、管理权限

数据权限:增删改查(select/update/delete/insert)增删改查

结构权限:结构操作(create/drop/alter)创建 删除 修改表

管理权限:用户操作权限(create user/grant/revoke)创建 赋予权限 权限回收

2、grant:授予权限

将权限分配给指定用户

grant 权限列表/all privileges on 数据库.表名 to 用户;

注:1、权限列表:使用逗号分隔,但是可以使用 all privileges(表示全部权限)。

 2、数据库.表名:可以是单表(数据库名.表名)、可以是某个数据库(数据库名.*)、可以是整库(*.*)

3、revoke:权限回收

revoke 权限列表/all privileges on 数据库.表名 from 用户;

4、flush:刷新权限

将当前对用户的权限操作,进行一个刷新,将操作的具体内容同步到对应的表中。

flush privileges;

你可能感兴趣的:(day 003 创建用户 设置权限 修改用户密码等)