国内最专业的IT技术学习网

UI设计

当前位置:主页 > UI设计 >

详解MySQL数据库5层权限--全局、数据库层、表层、

发布时间:2019/06/25标签:   权限    点击量:

原标题:详解MySQL数据库5层权限--全局、数据库层、表层、
概述在MySQL中,怎样检查一个用户被授与了那些权限呢? 授与用户的权限能够分全局层级权限、数据库层级权限、表层级别权限、列层级别权限、子顺序层级权限。上面用试验来做下演示:权限详细分类1、全局层级全局权限实用于一个给定效劳器中的全部数据库。这些权限存储在mysql.user表中。GRANT ALL ON *.*和REVOKE ALL ON *.*只授与和打消全局权限。2、数据库层级数据库权限实用于一个给定命据库中的全部目的。这些权限存储在mysql.db和mysql.host表中。GRANT ALL ON db_name.*和REVOKE ALL ON db_name.*只授与和打消数据库权限。3、表层级表权限实用于一个给定表中的全部列。这些权限存储在mysql.tables_priv表中。GRANT ALL ON db_name.tbl_name和REVOKE ALL ON db_name.tbl_name只授与和打消表权限。4、列层级列权限实用于一个给定表中的繁多列。这些权限存储在mysql.columns_priv表中。当应用REVOKE时,您必需指定与被受权列雷同的列。5、子顺序层级CREATE ROUTINE, ALTER ROUTINE, EXECUTE和GRANT权限实用于已存储的子顺序。这些权限能够被授与为全局层级和数据库层级。并且,除了CREATE ROUTINE外,这些权限能够被授与为子顺序层级,并存储在mysql.procs_priv表中。1、全局层级测试创立一个测试账号test,授与全局层级的权限。以下所示:mysql>setglobalvalidate_password_policy=0;mysql>grantselect,inserton*.*totest@'%'identifiedby'test';mysql>flushprivileges;

详解mysql数据库5层权限--全局、数据库层、表层、列层、子程序层
用上面两种方法查问授与test的权限。以下所示:mysql>showgrantsfortest;mysql>select*frommysql.userwhereuser='test'G;
详解mysql数据库5层权限--全局、数据库层、表层、列层、子程序层
2、数据库层级测试创立一个测试账号test,授与数据库层级的权限。以下所示:mysql>dropusertest;mysql>grantselect,insert,update,deleteonjpcpdb.*totest@'%'identifiedby'test@123';mysql>select*frommysql.userwhereuser='test'G;--能够看到无任何受权。mysql>showgrantsfortest;mysql>select*frommysql.dbwhereuser='test'G;
详解mysql数据库5层权限--全局、数据库层、表层、列层、子程序层
详解mysql数据库5层权限--全局、数据库层、表层、列层、子程序层

版权信息Copyright ? IT技术教程 版权所有??? ICP备案编号:鲁ICP备09013610号