方法一 
使用phpmyadmin,这是最简单的了,修改mysql库的user表, 
不过别忘了使用PASSWORD函数。 

方法二 
使用mysqladmin,这是前面声明的一个特例。 
mysqladmin -u root -p password mypasswd 
输入这个命令后,需要输入root的原密码,然后root的密码将改为mypasswd。 
把命令里的root改为你的用户名,你就可以改你自己的密码了。 
当然如果你的mysqladmin连接不上mysql server,或者你没有办法执行mysqladmin, 
那么这种方法就是无效的。 
而且mysqladmin无法把密码清空。

方法3: 用SET PASSWORD命令

  mysql -u root

  mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');

方法4: 用UPDATE直接编辑user表

  mysql -u root

  mysql> use mysql;

  mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';

  mysql> FLUSH PRIVILEGES;

方法5 
mysql INSERT INTO mysql.user (Host,User,Password) 
VALUES('%','jeffrey',PASSWORD('biscuit')); 
mysql FLUSH PRIVILEGES 
确切地说这是在增加一个用户,用户名为jeffrey,密码为biscuit。 
在《mysql中文参考手册》里有这个例子,所以我也就写出来了。 
注意要使用PASSWORD函数,然后还要使用FLUSH PRIVILEGES。 

方法6
和方法三一样,只是使用了REPLACE语句 
mysql REPLACE INTO mysql.user (Host,User,Password) 
VALUES('%','jeffrey',PASSWORD('biscuit')); 
mysql FLUSH PRIVILEGES 

在丢失root密码的时候,可以这样

  mysqld_safe --skip-grant-tables&

  mysql -u root mysql

  mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';

  mysql> FLUSH PRIVILEGES;