SET PASSWORD [FORuser] = { PASSWORD('some password') | OLD_PASSWORD('some password') | 'encrypted password' }
The SET PASSWORD statement
assigns a password to an existing MySQL user account.
If the password is specified using the
PASSWORD() or
OLD_PASSWORD() function, the
literal text of the password should be given. If the password is
specified without using either function, the password should be
the already-encrypted password value as returned by
PASSWORD().
With no FOR clause, this statement sets the
password for the current user. Any client that has connected to
the server using a nonanonymous account can change the password
for that account.
With a FOR clause, this statement 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
format, where user_name@host_nameuser_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;
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.4.2.3, “Password Hashing in MySQL”, 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.
Starting from MySQL 4.1, you can see which account the server
authenticated you as by executing SELECT
CURRENT_USER().

User Comments
Another equivalent command (as SUPER) is:
GRANT USAGE ON *.* TO user@host IDENTIFIED BY 'password';
Add your own comment.