Creación de un backup de MySQL con PHP

Hola a todos. Hoy vamos a hablaros sobre la creación de un backup de MySQL con PHP. De este tipo de tareas normalmente se encarga el hosting. Pero, aún así, siempre es bueno tener la opción de realizar un backup. Incluso podremos programar una tarea con crontab.

Creación de un backup de MySQL con PHP

¿Qué necesitamos para la creación de un backup de MySQL con PHP?

Para empezar, deberemos tener los datos de conexión de la base de datos:

  • Host
  • Nombre de la base de datos
  • Nombre de usuario
  • Contraseña

Adicionalmente, deberás tener en cuenta las siguientes consideraciones:

  • Para poder ejecutar un fichero de php primero es necesario tener un servidor web. Éste se encargará de interpretar este fichero y situar el fichero en el mismo. Por ejemplo, Apache o Nginx.
  • Deberemos conocer la ruta y nombre del fichero que queramos generar y tener permisos de escritura sobre él.

Una vez que tenemos los datos, vamos a crear el fichero que se encargue de este proceso. Para ello, tendremos que crear un fichero vacío. Este fichero, lo guardaremos con extensión php con el siguiente contenido:

<?php
//Datos de la base de datos
$mysqlDatabaseName ='db_name';
$mysqlUserName ='db_user';
$mysqlPassword ='db_pass';
$mysqlHostName ='localhost';
$mysqlExportPath ='db_daily_backup.sql';

// Backup con mysqldump
$command='mysqldump --opt -h' .$mysqlHostName .' -u' .$mysqlUserName .' -p' .$mysqlPassword .' ' .$mysqlDatabaseName .' > ' .$mysqlExportPath;

exec($command,$output=array(),$worked);

switch($worked){
case 0:
echo 'La base de datos <b>' .$mysqlDatabaseName .'</b> se ha almacenado correctamente en la siguiente ruta '.getcwd().'/' .$mysqlExportPath .'</b>';
break;
case 1:
echo 'Se ha producido un error al exportar <b>' .$mysqlDatabaseName .'</b> a '.getcwd().'/' .$mysqlExportPath .'</b>';
break;
case 2:
echo 'Se ha producido un error de exportación, compruebe la siguiente información: <br/><br/><table><tr><td>Nombre de la base de datos:</td><td><b>' .$mysqlDatabaseName .'</b></td></tr><tr><td>Nombre de usuario MySQL:</td><td><b>' .$mysqlUserName .'</b></td></tr><tr><td>Contraseña MySQL:</td><td><b>NOTSHOWN</b></td></tr><tr><td>Nombre de host MySQL:</td><td><b>' .$mysqlHostName .'</b></td></tr></table>';
break;
}
?>

Ahora, ya tenemos creado el fichero. Para ejecutarlo, deberemos entrar a la dirección web del fichero. Por ejemplo, podemos usar: https://nuestraweb.com/db_backup.php. Al entrar a la dirección ejecutaremos el fichero. De esta forma,deberíamos poder ver que se ha generado el backup. En caso contrario, nos indicará el error ocurrido.

Uno de los posibles errores, es que no puede conectar con el servidor. Principalmente, ocurre si se conecta desde un servidor externo. Si es tu caso, en esta entrada puedes encontrar la solución: https://www.gpsos.es/2018/07/habilitar-el-acceso-remoto-mysql-centos-7/

El potencial de PHP y MySQL

PHP y MySQL funcionan muy bien en conjunto. Esto es una pequeña muestra del potencial de combinar ambas tecnologías.

A su vez, podremos realizar un proceso de instalación. Creación de tablas, eliminación de datos. Muchas opciones para combinar estas dos tecnologías.

Hay varias webs que usan PHP y MySQL. Esta unión permite crear páginas dinámicas.

Suscríbete a nuestra newsletter. Estarás al día de todas nuestras publicaciones con tan solo un email al mes. No enviaremos SPAM. Únicamente recibirás un email al mes con todas nuestras entradas.

Nos vemos en próximas entradas, esperemos que os haya sido útil.

Equipo de base de datos

Fuente: https://www.ionos.es/ayuda/hosting/usar-una-base-de-datos-mysql-para-proyectos-web/crear-y-restaurar-una-copia-de-seguridad-de-una-base-de-datos-mysql-usando-php/