用户管理和权限管理

用户管理

用户的作用

(1)登录 MySQL 数据库

(2)管理 MySQL 对象(库、表)

用户的定义

基本格式:xun@'白名单

白名单:地址列表,允许白名单的 ip 登录和管理 MySQL

xun@'localhost' :用户xun能够通过本地登录 MySQL
xun@'10.0.0.%' :用户xun能够通过10.0.0.xx/24网段登录MySQL
xun@'10.0.0.5%'  :用户xun能够通过50-59段的地址登录 MySQL
xun@'10.0.0.0/255.255.254.0' :用户xun能够通过10.0.0.0/23网段登录 MySQL
xun@'%' :用户xun能够通过所有网络地址登录 MySQL

用户的管理

创建用户

-- 新增一个 test 用户,密码为123456,并且能够通过10.0.0.xx/24网段登录 MySQL
create user 'xun'@'10.0.0.%' identified by '123456';

查询用户

-- 查询用户、白名单、密码
select user,host from mysql.user;

修改密码

alter user 'test'@'10.0.0.%' identified by '111111';

删除用户

drop user 'test'@'10.0.0.%' ;

权限管理

权限列表

ALL, SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE

授权

使用超级管理员用户root给其他用户授权

-- grant 权限 on 能够操作的库或表 to 用户 identified by 密码;
grant select, update, delete, insert on school.* to 'test'@'10.0.1.%';

注意

8.0之前,可以自动创建用户并授权

grant all on *.* to 'xun'@'10.0.0.%' identified by '123';

8.0之后,必须要先创建用户,才能给用户授权

create user 'xun'@'localhost' identified by '123456';
grant all on *.* to xun@'localhost';

查看授权

show grants for 'xun'@'localhost';

回收权限

revoke delete on 'test'.* from xun@'localhost';
show grants for 'xun'@'localhost';

你可能感兴趣的:(数据库)