Tengo una red local en casa y estoy tratando de desarrollar algún programa. El programa es multiplataforma y debe conectarse a un servidor MySQL.
El servidor está configurado en el cuadro de Linux y acepta conexiones remotas, ya que puedo conectarme con éxito desde las máquinas de Windows con la biblioteca Connector / C. El servidor acepta la conexión en el puerto estándar 3306.
Sin embargo, cuando intento conectarme desde una computadora portátil Mac (con OS X 10.8) a MySQL no se establece una conexión. Inicialmente pensé que esto se debe al hecho de que mi Mac no muestra su nombre de host / nombre de computadora en el enrutador y, por lo tanto, la red está confundida. Pero incluso después de aplicar lo que se sugirió en este enlace , Todavía no puedo conectarme.
Ahora me pregunto si OS X está ejecutando algún tipo de servidor de seguridad donde necesito desbloquear un puerto de salida 3306 para que la conexión se realice. O hay alguna otra cosa que impide la conexión.
El puerto está abierto en el enrutador, por lo que no hay problemas.
Entonces, ¿hay algo que pueda arreglar en el lado de Mac o al menos verificar?
Editar:
Estoy tratando de conectarme usando Connector / C de mi programa compilado con Xcode. Un mismo código exacto funciona bien desde Windows (es decir, se establece la conexión). Las 3 máquinas están en la misma red doméstica. Llamar a mysql_error () no produce ningún error, pero el puntero de MYSQL es NULL después de llamar a mysql_real_connect ().
Edit 2:
Esto es lo que muestra ifconfig:
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
Así que abrir Network Utility e intentar escanear para 3300 - 3310 en 192.168.1.3 no produce nada. Simplemente dice esto:
Port Scan has started…
Port Scanning host: 192.168.1.3
Port Scan has completed…
Intentando escanear la máquina donde está MySQL obtengo lo siguiente:
Port Scan has started…
Port Scanning host: 192.168.1.2
Open TCP Port: 3306 mysql
Port Scan has completed…