Restaurar MySQL Dump Desde PHP

Bueno el día de hoy eh tenido un problema bastante molesto, se ha dañado la base de datos de un sitio web, de la cual afortunadamente dispongo de un respaldo reciente, pero el archivo del respaldo supera las 20MB de tamaño, y por motivos que desconozco es imposible de restaurar el dump desde el PHPMyAdmin del sitio, si bien puedo cargar y descargar el archivo del sitio al correrlo para realizar la restauración indiferentemente mi velocidad de conexión el proceso falla. Como última alternativa decidí buscar un modo de ejecutar el SQL del archivo de respaldo desde el propio php con la esperanza de este no fallase, y finalmente lo logre. Con el siguiente código. Espero pueda servir de utilidad a alguien o me sirva de recordatorio por si sucede una situación similar de nuevo.



$filename = 'usr7291_drpl1.sql';
$mysql_host = '127.0.0.1';
$mysql_username = 'usr7291_root';
$mysql_password = '94478998';
$mysql_database = 'usr7291_drpl1';
mysql_connect($mysql_host, $mysql_username, $mysql_password) or die('ERROR AL CONECTRASE AL SERVIDOR: ' . mysql_error());
mysql_select_db($mysql_database) or die('ERROR EJECUTANDO LA BASE DE DATOS: ' . mysql_error());
$templine = '';
$lines = file($filename);
foreach ($lines as $line){
if (substr($line, 0, 2) == '--' || $line == '')
continue;
$templine .= $line;
if (substr(trim($line), -1, 1) == ';'){
mysql_query($templine) or print('Error performing query'.$templine . '\': ' . mysql_error() . '

');
$templine = '';
}
}
?>