SET PASSWORD = PASSWORD('some password')
SET PASSWORD FOR user = PASSWORD('some password')
SET PASSWORD语句用于向一个原有MySQL用户 账户赋予一个密码。
第一个语法为当前用户设置密码。已使用一个非匿名账户连接到服务器上的任何客户即都可以更改该账户的密码。
第二个语法为当前服务器主机上的一个特定账户设置密码。只有拥有mysql数据库UPDATE权限的客户端可以这么做。user值应以 user_name@host_name的格式被给定,此处user_name和host_name与mysql.user表登录项的User和Host 列中列出的完全一样。举例说明,如果您有一个登录项,User和Host列值为'bob'和'%.loc.gov',您应该按如下方法写语句:
以下为引用的内容: mysql> SET PASSWORD FOR 'bob'@'%.loc.gov' = PASSWORD('newpass'); |
这相当于以下语句:
以下为引用的内容: mysql> UPDATE mysql.user SET Password=PASSWORD('newpass')
-> WHERE User='bob' AND Host='%.loc.gov';
mysql> FLUSH PRIVILEGES; |
注释:如果您正在使用一个4.1以前的客户端连接到一个MySQL 4.1或MySQL 4.1以后的服务器,则在阅读5.7.9节,“MySQL 4.1中的密码哈希处理”之前,不能使用前面的SET PASSWORD或UPDATE语句。 密码格式在MySQL 4.1中变更了,并且在特定情况下,如果您更改密码,您可能无法在连接到服务器上。
您可以通过执行SELECT CURRENT_USER()观看您当前的鉴定user@host登录项