Buscar en moleculax
Conexión remota a nuestro servidor MySQL (Debian)


Cuando programo aplicaciones webs, lo habitual es no tocar la configuración del servidor MySQL. Las conexiones suelen originarse en el servidor, para terminar en el servidor, por lo que no preciso acceso remoto.
Sin embargo, en uno de los proyectos de software en los que estoy metido se me ha solicitado que desde una página externa al servidor establezca una conexión hacia el servidor donde tengo las aplicaciones web.
Hace un par de días escribí el script que conectaba desde un servidor remoto con el servidor de la aplicación, pero el error era continuo: no se puede conectar con el servidor.
Comprobé los permisos de usuario, la sintaxis PHP, etc., hasta que me acordé que yo suelo configurar los demonios con toda la seguridad que puedo (no conectar a SSH con root, y esas cosas). Pues resulta que, en efecto, el servidor está configurado para escuchar peticiones exclusivamente del propio servidor. Aunque eso se puede arreglar, claro.
NOTA: tenemos que distinguir el acceso remoto al servidor MySQL del acceso a la aplicación web. Cuando uno accede de manera remota a la aplicación, las peticiones las realiza la propia aplicación desde el servidor hasta el mismo servidor, luego no es necesario configurar ningún acceso remoto. La petición se genera en el servidor, y acaba en el propio servidor.
Como decía, la manera de configurarlo es como explico a continuación.
Editamos el archivo de configuración, por supuesto, como root:
nano /etc/mysql/my.cnf
Hay que encontrar la siguiente línea:
bind-address = 127.0.0.1
Ahora podemos hacer varias cosas (a mi me funcionan las tres):
  • Comentar esa línea:
#bind-address = 127.0.0.1
  • Cambiar la línea por lo siguiente:
bind-address = 0.0.0.0
  • Cambiar la línea por la IP fija de la máquina:
bind-address = 10.35.95.164
Ahora sólo hay que reiniciar el servidor:
/etc/init.d/mysql restart
Y ya está. Ahora ya tenemos acceso remoto desde otro PC. Eso sí, hay que acordarse que cuando creemos el usuario que se tenga que conectar, lo configuremos para que sea desde cualquier nombre de servidor (en la línea de comandos de MySQL, %), y no desde localhost.

.


Powered by

http://emiliogomez.com.ar