According to :http://www.blogjava.net/lyjjq/articles/346797.html
1、结束当前正在运行的mysql进程。
# /etc/init.d/mysql stop

2、用mysql安全模式运行并跳过权限验证。
# /usr/bin/mysqld_safe --skip-grant-tables

3、以root身份登录mysql。
# mysql -u root

4、修改root用户口令。
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> update user set Password = PASSWORD('root') where User ='root';
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3  Changed: 3  Warnings: 0

mysql> exit

5、结束mysql安全模式,用正常模式运行mysql。
# /etc/init.d/mysql restart

6、试试你新修改的口令,嘿嘿……屡试屡爽!
 
mysql> update mysql.user set password=PASSWORD('新密码') where  USER='root' and host='%' or host='localhost' ; 

mysql> flush privileges;
mysql> quit