Eu tenho dois servidores na mesma sub-rede.
- 192.168.100.1 (mysql)
- 192.168.100.2 (php)
O MySQL parece estar funcionando bem, mas parece que não consigo me conectar a ele. Estas são as caixas do ubuntu e iptables e o ufw não está em execução. Os seguintes comandos são todos da própria caixa do MySQL. Nenhum desses trabalhos funciona na caixa .100.2
(php).
my.cnf
#bind-address = 127.0.0.1
bind-address = 192.168.100.1
netstat diz que isso é verdade:
[email protected] /etc/mysql $ netstat -plutn
Active Internet connections (only servers)
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
[email protected] /etc/mysql $ telnet 192.168.100.1 3306
Trying 192.168.100.1...
Connected to 192.168.100.1.
Escape character 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:
[email protected] /etc/mysql $ mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Quando tento me conectar de .100.2
, não recebo nada da conexão até o limite de tempo:
[email protected] /etc/php5/fpm $ mysql -uroot -p -h 192.168.100.1 --connect-timeout 4
Enter password:
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.100.1' (4)
Eu posso ping
.100.1
da caixa .100.2
embora com tempos de resposta de subms.
Aqui estão as configurações do Grant do 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 concessão para todos os lugares e o problema persiste.
mysql> show grants for 'root'@'%';
+--------------------------------------------------------------------------------------------------------------+
| Grants for root@% |
+--------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY PASSWORD '...' |
+--------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
Atualizar
Acontece que o sistema foi bloqueado de alguma forma por alterações feitas em arquivos de sistema que eu não sabia. Aparentemente, estava bloqueando certas operações de rede que não são padrão. Isso é francamente frustrante que as mesmas pessoas que me deram essa caixa se esqueceram disso. Eu sinceramente não tenho idéia do que eles fizeram e nem conseguem se lembrar. No entanto, as respostas listadas aqui são o guia de resolução de problemas mais completo para pessoas normais. Deve ter sido um desses problemas.