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;

Now kill all running mysqld or mysqld_safe and restart mysql as normal. You then login mysql root using the new password just now.