一、用户权限管理概述
数据库用户权限管理是数据库系统中非常重要的一个方面,它用于控制不同用户访问和操作数据库的权限范围。数据库用户权限管理可以保护敏感数据和数据库结构,确保只有被授权的用户才可以操作和使用数据库,防止数据被修改或泄露,并最大程度地保证数据库的安全
二、用户权限类型
ALL PRIVILEGES | 拥有该权限的用户可以执行所有数据库的所有操作,包括创建/删除/修改数据库和表、执行 SELECT/INSERT/UPDATE/DELETE 等语句。 |
CREATE | 拥有该权限的用户可以创建新数据库和表。 |
DROP | 拥有该权限的用户可以删除数据库和表。 |
SELECT | 拥有该权限的用户可以执行 SELECT 语句,即查询数据。 |
INSERT | 拥有该权限的用户可以执行 INSERT 语句,即向表中插入数据。 |
UPDATE | 拥有该权限的用户可以执行 UPDATE 语句,即更新表中的数据。 |
DELETE | 拥有该权限的用户可以执行 DELETE 语句,即删除表中的数据。 |
INDEX | 拥有该权限的用户可以创建和删除索引。 |
ALTER | 拥有该权限的用户可以更改表的结构定义,例如更改列的属性、重命名表或更改表的引擎类型等。 |
CREATE VIEW和CREATE ROUTINE | 分别拥有创建视图和创建存储过程等常规操作的权限。 |
SHUTDOWN | 拥有该权限的用户可以关闭 MySQL 服务器。 |
GRANT OPTION | 拥有该权限的用户可以将自己的权限授予其他用户或组。 |
三、创建用户
CREATE USER 'username'@'host' IDENTIFIED BY 'password'; | ||||
创建 | 用户 | 用户名 | 确认密码 | ‘自定义密码’ |
案例
create user 'lwj'@'localhost' identified by '123123' ;
查看
select user,host from mysql.user;
四、用户赋权
格式:grant 权限 on 数据库.数据表 to 授权用户@授权主机 identified by '密码';
案例
grant all privileges on databasename.tablename to 'lwj'@'localhost' identified by '123123' ;
五、权限删除
格式:revoke 权限类型 on 数据库.数据表 from 授权用户@授权主机;
案例
revoke all privileges on databasename.tablename from 'lwj'@'localhost';
六、用户删除
格式: drop user 用户@主机;
七、查看用户权限
show grants for root@‘localhost’;
查看root用户权限