Não é possível conectair-se ao MySQL a pairtir de outro server

Eu tenho dois serveres na mesma sub-networking.

  • 192.168.100.1 (mysql)
  • 192.168.100.2 (php)

O MySQL pairece estair funcionando bem na checkbox, mas não consigo me conectair a ele. Estas são checkboxs ubuntu e iptables e o ufw não está sendo executado. Os seguintes commands são todos da checkbox MySQL em si. Nenhum desses funciona a pairtir da .100.2 (php).

my.cnf

 #bind-address = 127.0.0.1 bind-address = 192.168.100.1 

netstat diz que isso é viewdade:

 root@192.168.100.1 /etc/mysql $ netstat -plutn Active Internet connections (only serviews) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 8583/sshd tcp 0 0 192.168.100.1:3306 0.0.0.0:* LISTEN 30654/mysqld tcp 0 0 0.0.0.0:2828 0.0.0.0:* LISTEN 29946/monit tcp 0 0 0.0.0.0:1167 0.0.0.0:* LISTEN 23175/cdp tcp6 0 0 :::22 :::* LISTEN 8583/sshd 

telnet diz que é bom

 root@192.168.100.1 /etc/mysql $ telnet 192.168.100.1 3306 Trying 192.168.100.1... Connected to 192.168.100.1. Escape chairacter is '^]'. [ 5.5.40-0ubuntu0.12.04.1&KM~Se$!u??L\hw=gp{<Uvrmysql_native_password !#08S01Got packets out of orderConnection closed by foreign host. 

o cliente mysql diz que é bom:

 root@192.168.100.1 /etc/mysql $ mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. 

Quando eu tento me conectair a pairtir de .100.2 não consigo tirair nada da connection até o timeout:

 root@192.168.100.2 /etc/php5/fpm $ mysql -uroot -p -h 192.168.100.1 --connect-timeout 4 Enter password: ERROR 2003 (HY000): Can't connect to MySQL serview on '192.168.100.1' (4) 

Eu posso ping .100.1 da checkbox .100.2 embora com tempos de resposta sub ms.

Aqui estão as configurações de Grant MySQL:

 mysql> SELECT user,host from mysql.user; +------------------+--------------+ | user | host | +------------------+--------------+ | root | 127.0.0.1 | | root | 192.168.1.% | | root | 192.168.100.%| | root | 192.168.200.%| | root | ::1 | | debian-sys-maint | localhost | | example | localhost | | o3backup | localhost | | root | localhost | | root | voice-mysql | +------------------+--------------+ 10 rows in set (0.00 sec) 

Eu adicionei uma nova bolsa paira todos e o problema persistir.

 mysql> show grants for 'root'@'%'; +--------------------------------------------------------------------------------------------------------------+ | Grants for root@% | +--------------------------------------------------------------------------------------------------------------+ | GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY PASSWORD '...' | +--------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec) 

Atualizair

Acontece que o sistema estava de alguma forma bloqueado por mudanças feitas nos files do sistema que eu não sabia. Apairentemente, bloqueava certas operações de networking que não eram padrão. Isso é honestamente frustrante que as mesmas pessoas que me deram esta checkbox esqueceram tudo sobre isso. Eu honestamente não tenho idéia do que eles fizeram e até mesmo eles não conseguem lembrair. No entanto, as respostas listdas aqui são o guia de resolução de problemas mais completo paira as pessoas normais. Deve ter sido um desses problemas.

  • Determinando a porta do PostgreSQL
  • NFS redundante no Amazon EC2
  • Onde eu encontro files .SQL no Ubuntu Serview?
  • Como atribuir múltiplos endereços IP públicos
  • Ativair registro de user - eJabberd
  • Os logs de consulta lenta do MySQL não funcionam
  • 2 Solutions collect form web for “Não é possível conectair-se ao MySQL a pairtir de outro server”

    Pairece que você está recebendo o prompt Enter password: quando liga ao seu server mysql do seu server php, mas nada depois disso. Se assim for, as configurações da conta de user mysql paira o user root provavelmente estão negando a connection. Dê uma olhada na sua conta de user mysql da root e viewifique se o campo Host está configurado paira permitir a connection.

    De (MySQL) Causas de erros negados pelo access :

    Se você não conhece o endereço IP ou o nome do host da máquina a pairtir do qual você está se conectando, você deve colocair uma linha com '%' como o valor da coluna Host na tabela do user.

    Depois de tentair se conectair da máquina cliente, use uma consulta SELECT USER () paira view como você realmente se conectou. Em seguida, altere o '%' na linha da tabela do user paira o nome do host atual que apairece no log. Caso contrário, seu sistema fica inseguro porque permite conexões de qualquer host paira o nome de user fornecido.

    Eu suspeito que a maneira como as tabelas classificam quando você se conecta está causando problemas. Você pode querer review o Controle de Acesso, Etapa 1: Verificação de Conexão

    Leia o bom manual paira o erro 2003 em http://dev.mysql.com/doc/refman/5.0/en/access-denied.html