a melhor ferramenta que encontrei foi o sqlyog, (talvez o mysql workbench também), que realmente informaria o nome do host de onde você está vindo na conexão com falha.
A razão pela qual eu gosto é que ele mantém a segurança apertada, mostrando algo como Acesso negado para o usuário " ". Note, esse nome de host, eu acabei de inventar, mas é importante, qualquer que seja o seu. Caso contrário, é hora de curinga, algo que eu não vou fazer. Você pode escolher.
isso é importante porque esse nome de host (hdm38.newyork.comcastbusiness.net ) é o que eu uso durante mysql
create user em vez de usar curingas como % Eu deixei a conexão acima falhar, mas observo qual é o nome do host acima. Você verá abaixo.
Uma lista de verificação rápida
1) seu usuário remoto está se conectando por meio de uma conta que foi criada com o
user,host apropriado entradas (veja a saída de select user,host from mysql.user order by 1,2 ) CREATE USER 'santa'@'hdm38.newyork.comcastbusiness.net' IDENTIFIED BY 'mypassword';
Com esse comando acima, agora temos um novo usuário que tem a chance de entrar. Não é possível fazer nada. Não é possível mudar para um db. Basicamente, eles podem fazer coisas como
select now(); 2) você realizou
grants com flush privileges (pelo menos o primeiro) GRANT ALL PRIVILEGES ON mydb123.* TO 'santa'@'hdm38.newyork.comcastbusiness.net';
Nosso usuário com o comando acima agora pode fazer qualquer coisa no banco de dados/esquema mydb123. Explore o comando Grant acima no manual para ajustar o acesso ao mínimo para os usuários que você cria.
Se você é novo na segurança do mysql, não inclua o
WITH GRANT OPTION até você pesquisar. Há aqueles que diriam que o nome do host acima seja '%' para as etapas 1 e 2. Isso significa que santa pode se conectar de qualquer host. A escolha é sua. Comece apertado, relaxe quando estiver chegando a algum lugar e tenha feito a pesquisa sobre isso.
3) você modificou my.cnf e alterou
bind-address longe de 127.0.0.1 ou localhost , em favor de 0.0.0.0 Se o endereço de ligação não for
0.0.0.0 , você está se conectando apenas com ssh 4) você modificou my.cnf e ter uma linha remada
#skip-networking . Mesmo que você tenha que criar a linha apenas para removê-la, faça-o. 3/4 alterações requerem reinicialização do daemon mysql
5) problemas de firewall. Portanto, para o EC2, você precisa do seu
AWS Security Group que está ativo para a instância incluir a abertura da porta 3306