CentOS não permite conexões remotas do MySQL

2

Ao atribuir um usuário de um IP remoto para se conectar a um banco de dados, ele está dizendo que está falhando ao se conectar. Ele também está falhando ao se conectar com a raiz, então algo está errado. O Bind IP está desligado e eu também tentei desabilitar o iptables, ainda sem dados. A porta 3306 é encaminhada.

Estou rodando no Centos 5.6, usando o phpmyadmin, mas também tentei atribuir o usuário via linha de comando e criar um novo banco de dados, ainda não funcionando.

Foi googling e solução de problemas por horas agora, sem dados.

    
por nd8ad 06.04.2012 / 12:34

4 respostas

1

A descrição do seu problema não está clara. Você precisa diferenciar entre os problemas causados por problemas relacionados à rede (porta de bloqueio do firewall 3306, endereço de ligação incorreto, etc.) ou causados por credenciais inválidas.

Se você puder fazer o telnet para o seu servidor IP / port e se conectar:

$ telnet your_server_ip 3306

Isto significa que o servidor mysql está rodando e aceitando conexões no IP especificado. O próximo passo é tentar se conectar ao mysql usando o cliente mysql:

$ mysql -u user -p -h your_server_ip

Se você obtiver access denied de erro, precisará confirmar se está se conectando com o nome de usuário / senha corretos.

Para root user, AFAIK não é permitido (por padrão) conectar-se ao banco de dados do mysql remotamente como root .

    
por 06.04.2012 / 13:39
0

Você deve ligar a um IP. Se você deseja ligar a todos os IPs da máquina, você precisa se ligar:

0.0.0.0
    
por 06.04.2012 / 12:48
0

Para permitir conexões mysql remotas, você precisa editar o /etc/my.cnf

do seu servidor

localize [mysqld] e adicione a seguinte linha:

bind-address = <server's ip address>

salve e reinicie o servidor mysql.

/etc/init.d/mysqld restart
    
por 22.06.2012 / 12:27
0

Você pode tentar as seguintes coisas,

  1. SSH no seu servidor onde o MySQl está rodando, Certifique-se de que é possível efetuar login no Mysql como "root" do servidor localmente.

  2. Verifique novamente se a porta 3306 do Mysql está escutando.

  3. Veja se o IPTABLEs está configurado para permitir as conexões de entrada do Mysql, senão você pode parar o serviço IPTABLES e tentar conectar o servidor MySQL de um sistema remoto.

  4. Conectar-se como usuário "root" não é uma boa prática, crie um usuário Mysql e conceda todos os privilégios ao novo usuário para conectar o banco de dados de um sistema remoto identificado por uma senha.

Exemplo: -

CONCESSÃO DE TODOS *. * Para o usuário @ 'Seu endereço IP' IDENTIFICADO POR 'SENHA';

PRIVILÉGIOS DE FLUSH;

Espero que isso ajude você.

Obrigado!

    
por 17.04.2013 / 10:52