Crear y restaurar una copia de seguridad de una base de datos MySQL o MariaDB usando PHP
Información válida para packs de Hosting Linux
En este artículo, le presentamos dos scripts PHP para hacer copias de seguridad y restaurar sus bases de datos.
<?php
//Introduzca aquí la información de su base de datos y el nombre del archivo de copia de seguridad.
$mysqlDatabaseName ='Nombre de la base de datos';
$mysqlUserName ='Nombre de usuario';
$mysqlPassword ='Contraseña';
$mysqlHostName ='dbxxx.hosting-data.io';
$mysqlExportPath ='Su-nombre-de-archivo-deseado.sql';
//Por favor, no haga ningún cambio en los siguientes puntos
//Exportación de la base de datos y salida del status
$command='mysqldump --opt -h' .$mysqlHostName .' -u' .$mysqlUserName .' --password="' .$mysqlPassword .'" ' .$mysqlDatabaseName .' > ' .$mysqlExportPath;
exec($command,$output,$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;
}
?>
Cómo hacer una copia de seguridad de su base de datos usando script PHP:
- Cree un nuevo archivo de texto en su PC con un editor y copie el código PHP mostrado arriba en él.
- Introduzca los datos de acceso a su base de datos en el código y guarde el script con la extensión de archivo .php.
Mostrar datos de acceso en el área IONOS - Suba el archivo a su espacio web en el directorio asociado a su dominio.
- Ejecute el script accediendo a la dirección de Internet en el navegador de Internet, por ejemplo, en el formato http://sudominio.es/nombredescript.php.
Ahora se crea y almacena un volcado SQL en el directorio del script con el nombre especificado en el script. A continuación, puede archivar el fichero en su ordenador.
Restaurar la base de datos
El siguiente script le muestra cómo importar las copias de seguridad existentes como archivo .sql a su base de datos:
<?php
//Tragen Sie hier Ihre Datenbankinformationen ein und den Namen der Backup-Datei
$mysqlDatabaseName ='Nombre de la base de datos';
$mysqlUserName ='Nombre de usuario';
$mysqlPassword ='Contraseña';
$mysqlHostName ='dbxxx.hosting-data.io';
$mysqlImportFilename ='Nombre-de-archivo-de-Backups.sql';
//Por favor, no haga ningún cambio en los siguientes puntos
//Importación de la base de datos y salida del status
$command='mysql -h' .$mysqlHostName .' -u' .$mysqlUserName .' --password="' .$mysqlPassword .'" ' .$mysqlDatabaseName .' < ' .$mysqlImportFilename;
exec($command,$output,$worked);
switch($worked){
case 0:
echo 'Los datos del archivo <b>' .$mysqlImportFilename .'</b> se han importado correctamente a la base de datos <b>' .$mysqlDatabaseName .'</b>';
break;
case 1:
echo 'Se ha producido un error durante la importación. Por favor, compruebe si el archivo está en la misma carpeta que este script. Compruebe también los siguientes datos de nuevo: <br/><br/><table><tr><td>Nombre de la base de datos MySQL:</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><tr><td>Nombre de archivo de la importación de MySQL:</td><td><b>' .$mysqlImportFilename .'</b></td></tr></table>';
break;
}
?>
Nota: si el tamaño de su base de datos hace que agote el tiempo de ejecución del script y su pack de alojamiento web incluye acceso SSH, también puede restaurar la base de datos a través de SSH.