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

MySQL – Erro de conexão – [MySQL][ODBC 5.3(w) Driver]Host ‘IP’ não tem permissão para se conectar a este servidor MySQL

Um dos meus clientes entrou em contato comigo para um problema de servidor vinculado entre o SQL Server e o MySQL Server. Como trabalho principalmente com o SQL Server, foi divertido instalar e conectar o MySQL Server. Enquanto eu estava tentando simular o problema e queria criar um servidor vinculado. Neste blog, aprenderíamos como corrigir o erro de conexão MySQL [MySQL][ODBC 5.3(w) Driver] O host 'IP' não tem permissão para se conectar a este servidor MySQL.

Eu instalei o MySQL Server em um servidor e forneci a senha do usuário root. Quando eu estava tentando me conectar ao MySQL Server usando ODBC.


Assim que cliquei no teste, vejo o erro abaixo.


O IP mencionado na mensagem de erro é o IP do cliente que está tentando se conectar. A mensagem de texto é a seguinte:

Falha na conexão
[MySQL][ODBC 5.3(w) Driver]O host ‘IP’ não tem permissão para se conectar a este servidor MySQL:

Eu nunca vi esse erro ao trabalhar com o SQL Server, então não tinha ideia sobre esse erro. Quando eu estava pesquisando eu aprendi abaixo.

Por padrão, o MySQL não permite que clientes remotos se conectem ao banco de dados MySQL.

A maneira mais rápida de verificar isso é a seguinte. Se verificarmos a tabela mysql.user, há uma entrada para o usuário 'root' com o host 'localhost'.


Então, precisamos fornecer permissão para conectar ao MySQL Server a um cliente.

Solução/Solução

Primeiro, certifique-se de que não seja um problema de firewall.

Como discutimos anteriormente, é um problema com permissões. Podemos então dar permissão usando o comando.

Use mysql;
GRANT ALL ON *.* to root@'x.x.x.x' IDENTIFIED BY 'your-root-password';

Você também pode usar o MySQL Workbench para fazer isso. A captura de tela abaixo informa as etapas a serem seguidas. Igual ao comando, precisamos fornecer nome de usuário, senha e IP na tela gráfica.


Espero que este blog ajude. Após as alterações acima, quando você tenta se conectar ao banco de dados mysql a partir deste cliente remoto (demos o IP/nome do host), você não deve mais receber a mensagem de erro “Host não tem permissão para conectar-se a este servidor MySQL”. Também podemos usar % para permitir todos os hosts, mas não prefiro essa opção.

Eu não sou um especialista em MySQL, então sinta-se à vontade para comentar e deixe-me saber se existem maneiras melhores.