Conectándose desde OS X 10.8 a MySQL

1

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…
    
pregunta Igor 25.06.2017 - 19:30

1 respuesta

1

El primer paso es asegurarse de que sus puertos estén abiertos y que no haya un problema de red.

En el Finder, abre / Aplicaciones / Utilidades / Network Utility.app

A continuación, elija "Port Scan". Ingrese la dirección IP (o el nombre si DNS está configurado en su red) de Linux Box y escanee todos los puertos menos de 4000.

Un éxito se vería como tus resultados:

Port Scanning host: 192.168.1.2

     Open TCP Port:     3306        mysql
Port Scan has completed…

Eso debería ser una comprobación rápida de que la red y / o el DNS están funcionando. Es casi seguro que no se está bloqueando, tienes que hacer mucho trabajo no predeterminado para bloquear puertos de salida arbitrarios.

Si no, necesitarás un seguimiento de la pregunta con suficientes detalles para que alguien te ayude.

Si la red está funcionando, puede estar seguro de que no está relacionado con OS X y quizás centrarse en una pregunta de nivel de código en Desbordamiento de pila.

    
respondido por el bmike 25.06.2017 - 20:56

Lea otras preguntas en las etiquetas