用户权限管理:
1. 创建用户和设置密码:
create user test IDENTIFIED by ‘test‘;
创建完用户需要执行:FLUSH PRIVILEGES; 作者不执行也可以赋权。
2. 删除用户:
drop user test;
3. 授权
grant select, insert, update, delete on work_db.* to test@‘%‘;
4. 查询用户权限:
show grants for test; -- 查看赋权语句。
select * from mysql.db where user=‘test‘ -- 查询赋权的实际情况
5. mysql赋权级别
5.1.全局层级
全局权限适用于一个给定服务器中的所有数据库。这些权限存储在mysql.user表中。GRANT ALL ON *.*和REVOKE ALL ON *.*只授予和撤销全局权限。
5.2.数据库层级
数据库权限适用于一个给定数据库中的所有目标。这些权限存储在mysql.db和mysql.host表中。GRANT ALL ON db_name.*和REVOKE ALL ON db_name.*只授予和撤销数据库权限。
5.3.表层级
表权限适用于一个给定表中的所有列。这些权限存储在mysql.tables_priv表中。GRANT ALL ON db_name.tbl_name和REVOKE ALL ON db_name.tbl_name只授予和撤销表权限。
5.4.列层级
列权限适用于一个给定表中的单一列。这些权限存储在mysql.columns_priv表中。当使用REVOKE时,您必须指定与被授权列相同的列。
5.5.子程序层级
CREATE ROUTINE, ALTER ROUTINE, EXECUTE和GRANT权限适用于已存储的子程序。这些权限可以被授予为全局层级和数据库层级。而且,除了CREATE ROUTINE外,这些权限可以被授予为子程序层级,并存储在mysql.procs_priv表中。
5. 回收权限:
上述案例的回收权限语句: revoke select, insert, update, delete on work_db.* from test@‘%‘; 关键字:revoke。
其他:
参考:
https://www.cnblogs.com/xibuhaohao/p/10935815.html
https://blog.csdn.net/diyhzp/article/details/63683475
select, insert, update, delete
原文:https://www.cnblogs.com/jssj/p/11989332.html