首 页  资讯中心 下载中心 资讯教程 最新下载 发布软件 发布文章 网通站 电信站繁體中文
设为首页
加入收藏
联系我们
 
您当前的位置:曾子源码软件下载站 -> 数据库 -> MySQL -> 文章内容 退出登录 用户管理
热门文章
· 常用C,VC,C++书籍下..
· 新概念英语视频教程..
· 常用 JAVA JAVA2 J..
· 《梦幻麻将馆9雀圣争..
· 新东方英语视频教程..
· 常用VB,Visual Basi..
· [组图] After Effect..
· WINDOWS 所有系统文..
· [组图] 让机器运行多..
· 全美经典学习指导系..
相关文章
· 基础知识 Internet防..
· my123爆发 360安全卫..
· 详细分析IP地址的基..
· [组图] Photoshop光影..
· ASP.NET2.0中使用数..
· 网络基础知识讲座之..
· 初学入门 PHP 和 My..
· MySQL安全问题(匿名..
· ASP使用MYSQL数据库..
· mysql获得系统权限
MYSQL数据库的用户帐号管理基础知识
作者:无从考证  来源:不详  发布时间:2005-12-29 23:33:17  发布人:我爱源码

减小字体 增大字体

2. 用户应具有什么级别的权限,这些权限适用于什么

  您可授予不同级别的权限。全局权限的功能最强,因为它们适用于任何数据库。为了使ethel 成为可以进行一切操作的超级用户(其中包括可以对其他用户授权),发布下列语句:

  GRANT ALL ON *.* TO ethel@localhost IDENTIFIEDBY "coffee"

  WITH GRANT OPTION

  ON 子句中*.* 说明符的意思是“所有数据库,所有的表”,为保险起见,我们已经指定ethel 只能从本地主机中连接。限制超级用户从哪些主机上进行连接通常是明智的做法,因为它限制住了其他用户对口令进行试探。

  有些权限( F I L E、P R O C E S S、RELOAD 和S H U T D O W N)是管理权限,只能用NO *.* 全局权限说明符来授予。如果希望的话,也可以不用授予数据库级的权限来授予这些权限。例如,下列语句建立了一个flush 用户,它除了发布FLUSH语句外不做其他任何事情。在管理脚本中这可能是有用的,因为需要在这些脚本中执行诸如在日志文件循环期间刷新日志的操作:

  GRANT RELOAD ON *.* TO flush@localhost IDENTIFIEDBY "flushpass"

  通常授予管理权限应该是保守的,因为具有这些权限的用户可能影响服务器的操作。

  数据库级的权限适用于特定数据库中的所有表。这些权限使用ON db_name.* 子句进行授予:

  GRANT ALL ON samp_db.* TO bill@racer.snake.net IDENTIFIEDBY "rock"

  GRANT SELECT ON menagerie.* TO ro_user@% IDENTIFIEDBY "dirt"

  第一条语句将bill 的所有权限授予samp_db 数据库的任何表。第二条语句创建一个限制访问的用户r o _ user(只读用户),它可以访问menagerie 数据库的所有表,但只能读取。也就是说,该用户只能发布SELECT 语句。


  怎样在授权表项中指定本地主机名

  如果您使用服务器的主机名而非localhost,通常存在从该服务器主机连接的问题。这可能是由于在授权表中指定名字的方法和名字分解器例程( name reslover routine)向程序报告名字的方法之间的错误匹配。如果分解器报告了一个非限定的名字(如p i t - v i per),但授权表包含了具有全限定的名字的项(如p i t - v i per. s n a k e . n e t,反之亦然),则发生错误匹配。

  为了确定这种情况是否正在系统中发生,可试着用-h 选项连接到本地服务器,该选项指定了主机的名字。然后查看服务器的常规日志文件。它是怎样报告主机名的?是以非限定形式还是限定形式?不论它是哪种形式,都将告诉您在发布GRANT 语句时需要怎样指定用户说明符的主机名部分。

  可以同时列出许多被授予的单个权限。例如,如果想让用户能读取和修改已有表的内容,但又不允许创建新表或删除表,可按如下授权:

  GRANT SELECT,INSERT,DELETE,UPDATE ON samp_db.* TO jennie@%

  IDENTIFIEDBY "boron"

  对于更小粒度( f i n e - g r a i n e d)的访问控制,可以在单个表上授权,甚至在表的单个列上授权。当存在要对用户隐藏的表时,或者,当只允许用户修改特定列时,列专有的权限是有用的。假定历史同盟会中有一些志愿者利用您作为同盟会秘书应履行的职责来帮助您工作。这是一个好消息,但您决定首先给新的助手授予对member 表只读的权限(该表中包含了会员资格的信息),然后再对他们增加授予该表的expiration 列的列专有UPDATE权限。也就是说,您的助手可以在人们更新其会员资格时进行更改

第一条语句授予对整个member 表的读访问权并设置口令。第二条语句增加UPDATE权限,但只是对expiration 列。此时不必要再指定口令,因为在第一条语句中已经完成了。
截止日期的工作。设置此MySQL用户的语句如下:


上一页  [1] [2] [3] [4]  下一页

[] [返回上一页] [打 印] [收 藏]
下一篇文章:MySQL优化简明指南
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [发表评论...]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 网站信息排名查询
Copyright © 2004-2006 Zasp.Net. All Rights Reserved .