I had the same problem. It was an incomplete installation that caused it.
I was unable to run mysql from the command line with root access because I had not
set a root password.
So I re-installed mysql (didn't need to) - oh yeah backed up my tables first using mysqldump:
mysqldump --all-databases > huge_dump.dump ( this didn't ask me for a password )
Here's the key - Run the mysql_secure_installation script:
Bla Bla Bla - - -
Enter current password for root (enter for none);
HIT ENTER since you have not set a root password yet
Set root password? [Y/n] y <--- say yes !!
New password: kick_me_hard
Re-enter new password: kick_me_hard
Password updated successfully!
Reloading privileges tables...
. . .Success!
Now you can login using phpMyAdmin or command line:
mysql -u root -p
Enter password: kick_me_hard
Type 'help;' or '\h' for help bla bla bla
Now you are the coolest guy(gal) around since you fixed it.
Unless you are the only one around - well then you are still the coolest one around!