Can you run mysql from the command line? If so, check to see if you only have one entry for 'root' in your mysql database, in the user table. You can check it with:
# mysql -u root -p
<enter password when prompted>
mysql> use mysql;
mysql> select host, user from user;
If you only have an entry for 'root'@'%', then create a new entry for 'root'@'localhost' with the grant command.
Once you've verified root@localhost works, then you can drop root@%
Or if you see that you do have an entry for 'root'@'localhost' and you need to change your root password, see the article at http://www.howtoforge.com/setting-ch...root-passwords