Isso provavelmente já aconteceu com você, se não aconteceu um dia vai acontecer! Comigo ao menos , isso é uma constante, eu mal uso o MySql, e quando vou usar já não lembro qual é a senha de root. Por segurança, crio uma senha completamente diferente do meu root no linux, ai a desgraça tá feita. Mas como diria Seu Creysson, seus problemas acabaram-se, vou mostrar como você vai fazer caso tenha esquecido de tomar o seu remedinho para memória.
- Você fez : terminal@user$ mysql -u root -p, e recebeu a mensagem “ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)”, acalme-se e não se desespere você ainda vai ter acesso ao seu servidor BD;
- No seu terminal: terminal@user$ cd /etc/mysql ,depois dê um ls , e procure por um arquivo chamado my.cnf. Entre nele com privilégios de super usuário e procure por algo como [mysqld]. Agora acrescente linha skip-grant-table, saia do arquivo e restart seu servidor mysql sudo /etc/init.d/mysql restart;
- Entre no seu servidor mysql, sem especificar user ou password, terminal@user$ mysql. Entrando lá faça conforme imagem abaixo.
- Pronto, agora tenta novamente com seu usuário e não esqueça mais sua senha =].

