Ik neem aan dat je een MySQL database hebt met phpmyadmin runnend? Daarin zit een tool "export" om alles op te slaan, er is volgens mij een limiet van 16MB maar dat is "vrij" groot, dus dat zal je normaal gezien niet halen.
Zorg ervoor dat je een verbinding open hebt met je MySQL database en maak dan gebruik van de backupDatabase() functie, geschreven door Maarten "Murfy" Ureel. Die geeft een string terug zoals ook phpMyAdmin deze teruggeeft bij de export functie.
Die kan je dan zelf weer in een bestand wegschrijven met PHP en deze naar de browser zenden oid.