您的位置:首页 > 数据库 > MySQL

学习手册之MySQL存取权限系统

2008-04-30 07:27 295 查看
6MySQL存取权限系统

MySQL有一个先进但非标准的/权限系统。本节描述它的工作原理。
6.1权限系统做什么

MySQL权限系统的主要功能是证实连接到一台给定主机的一个用户,并且赋予该用户在一个数据库上select、insert、update和delete的权限。

附加的功能包括有一个匿名的用户和对于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客户程序一般要求你指定连接参数:你想要联接的主机、你的用户名和你的口令。例如,MySQL客户可以象这样启动(可选的参数被包括在“[”和“]”之间):

shell>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选项文件。

对于命令行没有的联接参数,MySQL使用缺省值:

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

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

shell>MySQL-hlocalhost-ujoe
shell>MySQL-hlocalhost
shell>MySQL-ujoe
shell>MySQL

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

在Unix系统上,当你进行一个连接时,你可以指定要使用的不同的缺省值,这样你不必每次在你调用一个客户程序是在命令行上输入他们。这可以有很多方法做到:上一页
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: