A primeira ordem de negócios é entrar com permissões completas. Se você não puder, adicione esta linha ao seu my.cnf e reinicie o mysql:
skip-grant-tables
Eu recomendo fazer um pequeno reconhecimento para ver quais usuários você tem:
SELECT user,host,password FROM mysql.user WHERE user = 'root' ORDER BY host ASC;
Isso exibirá sua lista de usuários, algo como:
mysql> SELECT user,host,password FROM mysql.user WHERE user = 'root' ORDER BY host ASC;
+------+------------+-------------------------------------------+
| user | host | password |
+------+------------+-------------------------------------------+
| root | 127.0.0.1 | |
| root | ::1 | |
| root | localhost | *E0AD777475E6713F9B04317EE38888D61042DAC1 |
| root | randym-mbp | |
+------+------------+-------------------------------------------+
4 rows in set (0.01 sec)
Você precisa ver o localhost na lista. Se você não fizer isso, adicione da seguinte forma:
GRANT ALL PRIVILEGES ON *.* TO root@'localhost' IDENTIFIED BY 'your_password' WITH GRANT OPTION;
Caso contrário, basta atualizar a senha da seguinte forma:
SET PASSWORD FOR root@'localhost' = PASSWORD('your_password');
FLUSH PRIVILEGES;
Em seguida, remova as tabelas skip-grant do seu my.cnf e reinicie o mysql.