MySQL 存取权限系统
2008-12-19 11:14:57 来源:WEB开发网1. MySQL 用户名和口令
* MySQL使用于认证目的的用户名,与Unix用户名(登录名字)或Windows用户名无关。缺省地,大多数MySQL客户尝试使用当前Unix用户名作为MySQL用户名登录,但是这仅仅为了方便,客户程序允许用-u或--user选项指定一个不同的名字。及与安全的考虑,所有的MySQL用户名都应该有口令。
* MySQL用户名最长可以是16各字符;典型地,Unix用户名限制为8个字符。
* MySQL口令与Unix口令没关系。
* MySQL加密口令使用了一个Unix登录期间所用的不同算法,PASSWORD()和ENCRYPT()
函数PASSWORD(str)
从纯文本口令str计算一个口令字符串。该函数被用于为了在user授权表的Password列中存储口令而加密MySQL口令。
mysql> select PASSWORD('badpwd');
-> '7f84554057dd964b'
PASSWORD()加密是非可逆的。PASSWORD()不以与Unix口令加密的相同的方法执行口令加密。你不应该假定如果你的Unix 口令和你的MySQL口令是一样的,PASSWORD()将导致与在Unix口令文件存储的相同的加密值。见ENCRYPT()。
ENCRYPT(str[,salt])
使用Unix crypt()系统调用加密str。salt参数应该是一个有2个字符的字符串。(MySQL 3.22.16中,salt可以长于2个字符。)
mysql> select ENCRYPT("hello");
-> 'VxuFAJXVARROc'
如果crypt()在你的系统上不可用,ENCRYPT()总是返回NULL。ENCRYPT()只保留str起始8个字符而忽略所有其他,至少在某些系统上是这样。这将由底层的crypt()系统调用的行为决定。
1. 与MySQL服务器连接
语法格式:
shell> mysql [-h host_name][-u user_name][-pyour_pass ]
更多精彩
赞助商链接