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