Possivelmente uma precaução de segurança. Você pode tentar adicionar uma nova conta de administrador:
mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
-> WITH GRANT OPTION;
mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
-> WITH GRANT OPTION;
Embora, como Pascal e outros tenham observado, não seja uma boa idéia ter um usuário com esse tipo de acesso aberto a qualquer IP. Se você precisar de um usuário administrativo, use o root e deixe-o no host local. Para qualquer outra ação, especifique exatamente os privilégios necessários e limite a acessibilidade do usuário, como Pascal sugeriu abaixo.
Editar:
Do FAQ do MySQL:
Se você não conseguir descobrir por que o acesso é negado, remova da tabela de usuários todas as entradas que possuam valores de host contendo caracteres curinga (entradas que contêm caracteres '%' ou '_'). Um erro muito comum é inserir uma nova entrada com Host = '%' e Usuário = 'some_user', pensando que isso permite especificar host local para conectar-se a partir da mesma máquina. O motivo disso não funcionar é que os privilégios padrão incluem uma entrada com Host = 'localhost' e Usuário = ''. Como essa entrada possui um valor de host 'localhost' mais específico que '%', é usada preferencialmente à nova entrada ao se conectar a partir do localhost! O procedimento correto é inserir uma segunda entrada com Host = 'localhost' e Usuário = 'some_user', ou para excluir a entrada com Host = 'localhost' e Usuário = ''. Após excluir a entrada, lembre-se de emitir uma instrução FLUSH PRIVILEGES para recarregar as tabelas de concessão. Consulte também a Seção 5.4.4, “Controle de Acesso, Estágio 1: Verificação de Conexão”.