Logon to server using root , and stop all mysql process.
Start mysql manually using following command
mysqld_safe --skip-grant-tables
You should then start MySQL successfully, and able to connect without password
mysql --user=root mysql
Use following command to reset MySQL password
update user set Password=PASSWORD('new-password') where user='root'; flush privileges; exit;
Now kill all running mysqld or mysqld_safe and restart mysql as normal. You then login mysql root using the new password just now.