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

Não é possível conectar remotamente à instalação do EC2 MySQL


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