手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Mysql>列表

MySQL安全性指南 (1)

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

db

db表列出数据库,而用户有权限访问他们。在这里指定的权限适用于一个数据库中的任何表。

host表

host表和db表结合使用在一个较好层次上控制特定主机对数据库的访问权限,这可能比单独使用db好些。这个表不受GRANT和REVOKE语句的影响,所以,您可能发觉您根本不是用他。

tables_priv表

tables_priv表指定表级权限,在这里指定的一个权限适用于一个表的任何列。

columns_priv表

columns_priv表指定列级权限。这里指定的权限适用于一个表的特定列。

在“不用GRANT配置用户”一节里,我们再讨论GRANT语句如何对修改这些表起作用,和您怎样能通过直接修改授权表达到同样的效果。

tables_priv和columns_priv表在MySQL 3.22.11版引进(和GRANT语句同时)。假如您有较早版本的MySQL,您的mysql数据库将只有user、db和host表。假如您从老版本升级到3.22.11或更新,而没有tables_priv和columns_priv表,运行MySQL_fix_privileges_tables脚本创建他们。

MySQL没有rows_priv表,因为他不提供记录级权限,例如,您不能限制用户于表中包含特定列值的行。假如您确实需要这种能力,您必须用应用编程来提供。假如您想执行建议的记录级锁定,您可用GET_LOCK()函数做到。

授权表包含两种列:决定一个权限何时运用的范围列和决定授予哪种权限的权限列。

2.1.1 授权表范围列

授权表范围列指定表中的权限何时运用。每个授权表条目包含User和Host列来指定权限何时运用于一个给定用户从给定主机的连接。其他表包含附加的范围列,如db表包含一个Db列指出权限运用于哪个数据库。类似地,tables_priv和columns_priv表包含范围字段,缩小范围到一个数据库中的特定表或一个表的特定列。

2.1.2 授权表权限列

授权表还包含权限列,他们指出在范围列中指定的用户拥有何种权限。由MySQL支持的权限如下表所示。该表使用GRANT语句的权限名称。对于绝大多数在user、db和host表中的权限列的名称和GRANT语句中有明显的联系。如Select_priv对应于SELECT权限。


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!