Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

O host 'xxx.xx.xxx.xxx' não tem permissão para se conectar a este servidor MySQL


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 notaram, não é uma boa ideia ter um usuário com esse tipo de acesso aberto a qualquer IP. Se você precisar de um usuário administrativo, use root e deixe-o no localhost. Para qualquer outra ação especifique exatamente os privilégios que você precisa e limite a acessibilidade do usuário como Pascal sugeriu abaixo.

Editar:

Da FAQ do MySQL:

Se você não conseguir descobrir por que obteve acesso negado, remova da tabela de usuários todas as entradas que tenham valores de host contendo curingas (entradas que contenham caracteres '%' ou '_'). Um erro muito comum é inserir uma nova entrada com Host='%' eUser='some_user', pensando que isso permite especificar localhost para conectar da mesma máquina. Isso não funciona porque os privilégios padrão incluem uma entrada com Host='localhost' e User=''. Como essa entrada tem um valor de Host 'localhost' que é mais específico que '%', ela é usada de preferência à nova entrada ao se conectar de localhost! O procedimento correto é inserir uma segunda entrada com Host='localhost' e User='some_user', ou excluir a entrada com Host='localhost' e User=''. 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”.