Originariamente inviato da RamRod
Grazie mille (a tutti), questa ha funzionato
L'unica cosa che non riesco a fare è salvarla su file
guarda uno degli esempi 
puoi usare il metodo save_dump()
oppure...
codice:
<?php
// Include la classe per il dump
require_once("MySQL_DumpDB.cls.php");
// Si connette a MySQL
mysql_connect("HOST", "USER", "PASS");
// Instanzia la classe
$dbdump = &new MySQL_DumpDB();
// Aggiunge il dump del database, aggiungendo pure il contenuto
$dbdump->dump_database("mysql", TRUE, TRUE);
// Esporta il database inserendo i DROP TABLE e usando i backquotes! Non usa USE `NOME_DB`
$dbdump->export_dump(TRUE, FALSE, TRUE);
// Inserisce il DUMP in una variabile, dicendogli di comprimerlo
$dump = $dbdump->get_dump(TRUE);
// Scrive su file il dump
$fp = fopen('myqsl_SQLDump.gz' , 'wb');
fwrite($fp, $dump);
fclose($fp);
// Avverte l'utente
echo "Dump salvato correttamente! Per scaricarlo premere <a href=\"myqsl_SQLDump.gz\">qui</a>";
?>
l'esempio online lo fa 
salva il tutto compresso in gzip