| 网站首页 | JAVA文章 | AppServers | Web开发 | 应用开发 | 资源下载 |
    想学好编程,外语很重要,最新的编程技术还是在国外  [enadd  2006年12月25日]        
设为首页 加入收藏 联系站长
您现在的位置: 编程笔记网 >> 数据库 >> mysql >> mysql教程 >> 文章正文
MySQL中文参考手册---6 MySQL 存取权限系统            【字体:
MySQL中文参考手册---6 MySQL 存取权限系统
作者:不详    文章来源:网络    点击数:    更新时间:2007-1-21

MySql有一个先进但非标准的安全/权限系统。本节描述它的工作原理。

6.1权限系统做什么

MySql权限系统的主要功能是证实连接到一台给定主机的一个用户,并且赋予该用户在一个数据库selectinsertupdatedelete的权限。

附加的功能包括有一个匿名的用户和对于MySql特定的功能例如LOADDATAINFILE进行授权及管理操作的能力。

6.2MySql用户名和口令

MySql使用用户名和口令的方法与Unix或Windows使用的方式有很多不同之处:

  • MySQL使用于认证目的的用户名,与Unix用户名(登录名字)或Windows用户名无关。缺省地,大多数MySQL客户尝试使用当前Unix用户名作为MySQL用户名登录,但是这仅仅为了方便。客户程序允许用-u--user选项指定一个不同的名字,这意味着无论如何你不能使得一个数据库更安全,除非所有的MySQL用户名都有口令。任何人可以试图用任何名字连接服务器,而且如果他们指定了没有口令的任何名字,他们将成功。
  • MySQL用户名最长可以是16各字符;典型地,Unix用户名限制为8个字符。
  • MySQL口令与Unix口令没关系。在你使用登录到一台Unix机器口令和你使用在那台机器上存取一个数据库的口令之间没有必要有关联。
  • MySQL加密口令使用了一个Unix登录期间所用的不同算法,见7.4.12杂项函数一节中描述PASSWORD()ENCRYPT()函数部分。

6.3与MySQL服务器连接

当你想要存取一个MySQL服务器时,MySQL客户程序一般要求你指定连接参数:你想要联接的主机、你的用户名和你的口令。例如,sql/Index.html'>mysql客户可以象这样启动(可选的参数被包括在“[”“]”之间):

shell>sql/Index.html'>mysql[-hhost_name][-uuser_name][-pyour_pass]

-h,-u-p选项的另一种形式是--host=host_name--user=user_name--password=your_pass。注意在-p--password=与跟随它后面的口令之间没有空格

注意:在命令行上指定一个口令是不安全的!随后在你系统上的任何用户可以通过打类似这样的命令发现你的口令:psauxww。见4.15.4选项文件。

对于命令行没有的联接参数,sql/Index.html'>mysql使用缺省值:

  • 缺省主机名是localhost
  • 缺省用户名是你的Unix登录名。
  • 如果没有-p,则没有提供口令。

这样,对一个Unix用户joe,下列命令是等价的:

shell>sql/Index.html'>mysql-hlocalhost-ujoeshell>sql/Index.html'>mysql-hlocalhostshell>sql/Index.html'>mysql-ujoeshell>sql/Index.html'>mysql

其它MySQL客户程序有同样表现。

在Unix系统上,当你进行一个连接时,你可以指定要使用的不同的缺省值,这样你不必每次在你调用一个客户程序是在命令行上输入他们。这可以有很多方法做到:

  • 你能在你的主目录下“.my.cnf”的配置文件的[client]小节里指定连接参数。文件的相关小节看上去可能像这样:
    [client]host=host_nameuser=user_namepassword=your_pass

    见4.15.4选项文件。

  • 你可以用环境变量指定连接参数。主机可用MYSQL_HOST指定,MySQL用户名字可用USER指定(仅对Windows),口令可用MYSQL_PWD指定(但是这不安全,见下一节)。

如果连接参数以多种方法被指定,在命令行上被指定的值优先于在配置文件和环境变量中指定的值,而在配置文件指定的值优先于在环境变量指定的值。

6.4使你的口令安全

以一种暴露的可被其他用户发现的方式指定你的口令是不妥当的。当你运行客户程序时,你可以使用下列方法指定你的口令,还有每个方法的风险评估:

  • 使用一个在命令行上-pyour_pass--password=your_pass的选项。这很方便但是不安全,因为你的口令对系统状态程序(例如ps)变得可见,它可以被其他的用户调用来显示命令行。(一般MySQL客户在他们的初始化顺序期间用零覆盖命令行参数,但是仍然有一个短暂间隔时间内参数值可见的。)
  • 使用一个-p--password选项(没有指定your_pass值)。在这种情况下,客户程序请求来自终端的口令:
    shell>sql/Index.html'>mysql-uuser_name-pEnterpassword:********

    [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] 下一页  

文章录入:enadd    责任编辑:enadd 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
  • MySQL数据的导出和导入工具:…

  • mysql授课大纲

  • mysql技巧总结

  • PPTP + MPPE + RADIUS + MyS…

  • 使用函数递归实现基于php和M…

  • 基于MySQL的高性能数据库应用…

  • Mysql日期和时间函数

  • 深圳讯天 mysql 服务器错误分…

  • 几分钟让你走进mysql的门

  • 针对 Apache 2.x 的 MySQL 用…

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 |