Non reinventare la ruota. Ciò di cui hai bisogno esiste già quasi pronto all'uso:
<?php
$result = exec("/path/to/mysqldump -u$username -p$password your_database your_table > /desired/output/path/dump.sql");
Potresti voler controllare il contenuto di $result
in seguito, per assicurarsi che tutto andasse liscio.