当前位置: 首页 > 图文教程 > 网络编程 > PHP > MySQL数据库账户授权的相关管理解析 (1)(2)

PHP
网站开发者参考:开源PHP网站源码
PHP教程:PHP开发网站代码编写规范
PHP教程:WebService最常用的两种方法
PHP通过SQL语句将数据写入MySQL数据库指定的表
PHP教程:修改discuz兼容自己开发的通行证
PHP教程:strlen与mb_strlen字符串长度函数
Apache的mod_rewrite模块拒绝盗链
windows 2003虚拟主机用httpd.ini控制盗链
PHP6的核心是对Unicode的内置支持
提高系统性能用eAccelerator优化PHP
10个开源的PHP网站内容管理系统
php中3des加密(完全与.net中的兼容)
PHP教程:时间函数
PHP教程:UCenter的MVC架构
PHP教程:PHP解析HTML字符串的问题
PHP教程:PHP截取HTML代码串问题
PhpSecInfo列出PHP环境设定中存在的安全问题
PHP教程:preg_replace_callback()函数
Google网站管理员工具的验证问题
解决PHP相对目录问题最有效的办法

PHP 中的 MySQL数据库账户授权的相关管理解析 (1)(2)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 121 ::
收藏到网摘: n/a

1.1 谁能连接,从那儿连接?

你可以允许一个用户从特定的或一系列主机连接。有一个极端,如果你知道降职从一个主机连接,你可以将权限局限于单个主机:

GRANT ALL ON samp_db.* TO boris@localhost IDENTIFIED BY "ruby"GRANT ALL ON samp_db.* TO [email protected] IDENTIFIED BY "quartz"

(samp_db.*意思是“samp_db数据库的所有表)另一个极端是,你可能有一个经常旅行并需要能从世界各地的主机连接的用户max。在这种情况下,你可以允许他无论从哪里连接:

GRANT ALL ON samp_db.* TO max@% IDENTIFIED BY "diamond"

“%”字符起通配符作用,与LIKE模式匹配的含义相同。在上述语句中,它意味着“任何主机”。所以max和max@%等价。这是建立用户最简单的方法,但也是最不安全的。

取其中,你可以允许一个用户从一个受限的主机集合访问。例如,要允许mary从snake.net域的任何主机连接,用一个%.snake.net主机指定符:

GRANT ALL ON samp_db.* TO [email protected] IDENTIFIED BY "quartz";

如果你喜欢,用户标识符的主机部分可以用IP地址而不是一个主机名来给定。你可以指定一个IP地址或一个包含模式字符的地址,而且,从MySQL 3.23,你还可以指定具有指出用于网络号的位数的网络掩码的IP号: