Cómo respaldar una base de datos MySQL sin tener PHPMyAdmin

Esto es como una clínica de batería sin batería, protagonizada por un cúmulo de situaciones hilarantes cuyos resultados no fueron tan terribles. Lo bueno, es que hay una anécdota que contar, y una lección para la posteridad.

Prefacio

Encontrábase Ignacio descansando en una casa ubicada en un lugar donde la conectividad a Internet es efímera, en el instante mismo en que uno de sus queridísimos clientes empezó a tener problemas con su sitio web. La noche anterior, tuvo que migrar de emergencia el foro donde participa activamente hace mushosaños, dado que el hosting en el cual residía ya no iba más. Con este contexto, apresuróse en migrar el sitio que le faltaba a un lugar seguro, cuando la materialización de sus miedos informáticos más terrible se hacía presente: el ahora nuevo dueño había cambiado todas las claves de acceso. Desesperado, buscó una solución a este entuerto, cuando dentro de todos sus recuerdos floreció aquel que le salvaría el día… y su recto.

La situación

Me encontraba en una situación en la que ya no tenía acceso al panel de control del hosting, por lo que ya no podía hacer un respaldo de la base de datos; ese sitio funciona activamente durante las noches y en esa premisa no pude respaldar en la ventana de tiempo que tenía para la ocasión. El problema es que tampoco iba a poder respaldar ahora… la única opción que tenía era averiguar si tenía algún backdoor a la mano que funcionara. Afortunadamente había una cuenta genérica con el cual todavía tenía acceso parcial al FTP, lo cual me permitía respaldar los archivos. Luego del respaldo, recuperé del archivo de configuración el conector a la base de datos… la que no funcionó dado que la gran mayoría de los proveedores serios de hosting bloquean el acceso remoto a las bases de datos de forma directa. Cinco minutos de googleo intenso después, encontré la solución.

Descripción concreta del problema

Tenía un sitio en un hosting que no es mío el cual necesitaba respaldar. No tenía acceso al panel de control del hosting, pero sí acceso parcial al FTP del sitio. Necesitaba respaldar la base de datos MySQL del cual tenía las credenciales pero no tenía acceso al PHPMyAdmin, y tampoco podía iniciar una conexión remota a la base de datos con un programa externo dado que por defecto, todos los proveedores de hosting bloquean cualquier acceso que no sea local.

Solución

Por fortuna encontré una aplicación que podría ayudar en este entuerto: se trata de MySQLDumper, la cual es una aplicación que se instala mediante FTP al servidor sobre el cual no se tiene acceso, con el fin de poder respaldarla desde PHP, y devolverte el respaldo como si de cualquier sitio web se tratara. La instalación es realmente sencilla:

Lo primero es copiar los archivos que te mandan en una carpeta dentro de algún directorio sobre el cual tengas acceso.

Posteriormente, una selección de idioma. Como la pereza obliga, selecciono Español.

Lo primero es que el software necesita saber a qué tabla conectarse, por lo que le proveemos las credenciales que tengamos.

Si todo sale bien, tendremos un listado de las bases de datos y podremos continuar sin la necesidad de especificar alguna base de datos. Si la conexión resulta exitosa pero no hay listado, tocará poner la base de datos a mano. Si hay algún error, hay que revisar las credenciales.

Posteriormente tendremos acceso a la página inicial, donde seleccionamos la base de datos a respaldar y luego en el botón «Copia de seguridad».

 

A menos que sea necesario ver alguna opción extra, sólo bastará con presionar en «Iniciar nueva copia de seguridad».

Si todo sale bien, tendremos disponible para descarga un archivo SQL comprimido el cual es totalmente compatible con que PHPMyAdmin entrega.

Conclusiones

Esta fue una situación de emergencia donde la operatibilidad de un cliente estaba en juego. Afortunadamente, gracias al backdoor pude hacer la migración sin inconvenientes, y el cliente ni si quiera se vio afectado. No es un método que recomiende mayoritariamente ya que como el sitio tiene visibilidad pública, estás abriendo un hoyo de seguridad, no tanto porque puedan entrar al servidor y tocar algo, sino porque se está concediendo acceso total y visible a las bases de datos, haciendo el sitio tremendamente vulnerable a robos de información. Por lo dicho, esto sólo debería ser considerado en una situación de emergencia como la que tuve.

 

P.S.: Si estás en Puerto Montt y quieres sánguches de calidad, pase a Sandwich VIP.