MySQL创建用户,用户授权,删除用户

1. 创建用户

创建 admin 用户,密码 123456,'%' 表示任何 IP 都可以访问。

create user 'admin'@'%' identified by '123456';
create user 'admin'@'%' identified with 'mysql_native_password' by '123456';
create user if not exists 'admin'@'%' identified with 'mysql_native_password' by '123456';

MySQL8 启用了新的用户加密方式,而新的加密方式对旧的程序不兼容,所以指定 mysql_native_password 这个旧的用户加密方式。

或者直接在 my.cnf 配置文件中配置如下参数,则默认创建的用户都是 mysql_native_password 加密方式。

default_authentication_plugin = mysql_native_password

查询用户:

select user,host from mysql.user;
show create user admin@'%';

2. 用户授权

可以给某个用户授予所有库的权限,也可以只授予指定库的权限,或者授予指定表的权限。

# 授予所有库的所有操作权限
grant all on *.* to 'admin'@'%';

# 授予指定库的所有操作权限
grant all on db.* to 'admin'@'%';

# 授予指定库表的所有操作权限
grant all on db.t1 to 'admin'@'%';

# 授权到表的字段,id,name可以select查询,age 可以更新
grant select(id,name),update(age) on db.t1 to 'admin'@'%';

MySQL 常用的权限种类:

查询用户授权情况:

show grants for admin@'%'

3. 删除用户权限

使用 revoke 语法删除用户权限,如下:

revoke all on db.t1 from admin@'%';
revoke update on db.* from admin@'%';
revoke insert,delete on db.* from admin@'%';

4. 删除用户

drop user admin@'%';
drop user if exists admin1@'%';

文章评论

0条评论