给你个方法试一试,我以前也遇到过就是这么解决的:
首先结束mysql进程,利用ps aux | grep mysql命令得到进程ID号,kill ID号,结束进程
其次,运行mysqld --skip-grant-tables
然后,再开一个终端,输入mysql -u root mysql
进去后,执行UPDATE user SET Password=PASSWORD('my_password') where USER='root';
再执行,FLUSH PRIVILEGES;
退出,重启mysql,然后你再运行mysql -u root -p输入你的密码,应该就OK了