如果 MySQL 正在运行,
首先杀之: killall -TERM mysqld(如果是windows,直接调出进程管理器,结束之) 
以安全模式启动 MySQL :
/usr/bin/safe_mysqld --skip-grant-tables &
(windows 下 mysql安装所以盘/mysql/bin/safe_mysqld --skip-grant-tables )
就可以不需要密码就进入 MySQL 了。
然后就是
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
重新杀 MySQL ,用正常方法启动 MySQL 。
使用其它方法更改一下密码试试

1.
update user set password=password("123456") where user="root" and host="localhost";
flush privileges;

2.
grant all . *.* to root@'localhost' identified by "123456";
flush privileges;