Eu tenho uma rede local em casa e estou tentando desenvolver algum programa. O programa é multi-plataforma e deve se conectar a um servidor MySQL.
O servidor está configurado na caixa Linux e aceita conexões remotas, pois posso conectar-me com êxito a partir de máquinas Windows com a biblioteca Connector / C. O servidor aceita conexão na porta padrão 3306.
No entanto, quando tento conectar de um laptop Mac (executando o OS X 10.8) ao MySQL, uma conexão não é estabelecida. Inicialmente, pensei que isso se deve ao fato de que meu Mac não exibe seu nome de host / nome de computador no roteador e, portanto, a rede está confusa. Mas mesmo depois de aplicar o que foi sugerido em esse link Ainda não consigo me conectar.
Então, agora eu estou querendo saber se o OS X está executando algum tipo de firewall onde eu preciso desbloquear uma porta de saída 3306 para que a conexão seja concluída. Ou há outra coisa que impede a conexão.
A porta está aberta no roteador, portanto, não há problemas.
Então, há algo que eu possa consertar no lado do Mac ou pelo menos checar?
Editar:
Eu estou tentando se conectar usando o Connector / C do meu programa compilado com o Xcode. Um mesmo código funciona bem no Windows (ou seja, a conexão é estabelecida). Todas as 3 máquinas estão na mesma rede doméstica. Chamar mysql_error () não produz nenhum erro, mas o ponteiro MYSQL é NULL depois de chamar mysql_real_connect ().
Editar 2:
Aqui está o que ifconfig mostra:
MyMac:dbhandler igorkorot$ ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
options=3<RXCSUM,TXCSUM>
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether b8:e8:56:21:e0:c0
inet6 fe80::bae8:56ff:fe21:e0c0%en0 prefixlen 64 scopeid 0x4
inet6 2601:140:4003:860:bae8:56ff:fe21:e0c0 prefixlen 64 autoconf
inet6 2601:140:4003:860:65c6:8063:98a:4650 prefixlen 64 autoconf temporary
inet6 2601:140:4003:860::1088 prefixlen 64
inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255
media: autoselect
status: active
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
ether 0a:e8:56:21:e0:c0
media: autoselect
status: inactive
Portanto, abrir o Network Utility e tentar procurar 3300 - 3310 em 192.168.1.3 não produz nada. Apenas diz isto:
Port Scan has started…
Port Scanning host: 192.168.1.3
Port Scan has completed…
Tentando escanear a máquina onde o MySQL está, eu obtenho o seguinte:
Port Scan has started…
Port Scanning host: 192.168.1.2
Open TCP Port: 3306 mysql
Port Scan has completed…