Dividir un dump MySQL

Para que tenga que insertar un archivo SQL de 800 MBs (90MB comprimido) este código puede servirles para separar los insertas por base de datos (recuerden siempre usar el IF EXISTS cuando exportan)

Código:

$fp = fopen('localhost.sql', 'r');while (!feof($fp)){ $name = ''; $line = fgets($fp); if (stripos($line, "DROP DATABASE") !== false) {  preg_match("|DROP DATABASE `([a-z0-9_-]+)`|", $line, $arr);  if (isset($arr[1]))  {   $name = $arr[1].'.sql';   $new = fopen($name, 'w');  } } if (isset($new)) {  fputs($new, $line); } echo $i . ". ". $name."\n";}
El código anterior les creará un archivo [nombre-db].sql por cada base de datos. Código bastante simple pero salvador.
Publicado por:
ignatius
Foro
PHP