Conectarse a MySQL desde un PC remoto

Tabla de contenidos

Artículos relacionados

En días anteriores, uno de mis jefes me pidió poder manejar los datos de la base de datos de la empresa por medio de MS Access, ya que es lo único que sabe usar bien bien para hacer consultas, crear formularios y hacer reportes. Me convenció, así que me dediqué a investigar cómo hacerlo y encontré esta página de desarrolloweb la cual indica cómo conectarse a MySQL por ODBC y usar la funcionalidad de tablas vinculadas de Access. Toda esta funcionalidad se oye maravillosa, pero, como todo, tiene un inconveniente: sirve solo si puedes hacer la conexión con MySQL.

En principio, la conexión local no fue ningún problema; el problema fue conectarme al servidor. A continuación, el periplo de cómo «Conectarse a MySQL instalado en Mandriva desde una máquina de manera remota».

Al intentar configurar el ODBC, recibía errores de conexión del tipo: «El servidor no responde«. Lo primero que pensé es: «El firewall», así que abrí el puerto 3306 (puerto por defecto de MySQL), pero continuaba recibiendo el error. Un día después de buscar por la web y darme contra las paredes pensando que no puedo ni siquiera abrir un puerto, descubrí que mi servidor de MySQL no estaba escuchando en el puerto 3306; de hecho, no escuchaba en ningún puerto.

Un día y varias búsquedas después, descubrí que esto era debido a que se estaba iniciando el servicio con la opción «skip-networking». Como se imaginarán, pensé: «Cosa de cambiar el my.cnf», y de hecho, todos los sitios web así lo recomendaban: «Solo tienes que comentar la línea con ‘skip-networking’ y ya», pero ¿qué hacer cuando esa línea no aparece en el archivo de configuración?

Gracias a la documentación de MySQL pude ver la forma en que estaba lanzado el servicio:

ps xa | grep mysqld

Ahí pude ver que MySQL se estaba lanzando con la opción skip-networking a pesar de que en el archivo de configuración me indicaba lo contrario. Busqué más en la red y nadie supo dar una respuesta, así que finalmente me decidí por abrir el /etc/init.d/mysqld-max para indagar qué hacía ese script. Fue allí donde encontré que este script llama a un archivo en /etc/sysconfig/mysqld y fue en ese archivo en donde apareció la infame línea «skip-networking»

Finalmente, pude comentarla y pude realizar la conexión por medio del ODBC. ¿Quién habría pensado que algo tan simple como una conexión ODBC me iba a tomar tanto tiempo?, pero al menos me dio algo que escribir aquí…