13.5.1.6. SET PASSWORD
Syntax
SET PASSWORD = PASSWORD('some password
')
SET PASSWORD FOR user
= PASSWORD('some password
')
The SET PASSWORD
statement assigns a
password to an existing MySQL user account.
The first syntax sets the password for the current user. Any
client that has connected to the server using a non-anonymous
account can change the password for that account.
The second syntax sets the password for a specific account on
the current server host. Only clients that have the
UPDATE
privilege for the
mysql
database can do this. The
user
value should be given in
user_name
@host_name
format, where user_name
and
host_name
are exactly as they are
listed in the User
and
Host
columns of the
mysql.user
table entry. For example, if you
had an entry with User
and
Host
column values of
'bob'
and '%.loc.gov'
,
you would write the statement like this:
SET PASSWORD FOR 'bob'@'%.loc.gov' = PASSWORD('newpass
');
That is equivalent to the following statements:
UPDATE mysql.user SET Password=PASSWORD('newpass
')
WHERE User='bob' AND Host='%.loc.gov';
FLUSH PRIVILEGES;
Note: If you are connecting
to a MySQL 4.1 or later server using a pre-4.1 client program,
do not use the preceding SET PASSWORD
or
UPDATE
statement without reading
Section 5.7.9, “Password Hashing as of MySQL 4.1”, first. The password format
changed in MySQL 4.1, and under certain circumstances it is
possible that if you change your password, you might not be
able to connect to the server afterward.
You can see which account the server authenticated you as by
executing SELECT CURRENT_USER()
.