Lo primero:
¿Sabes hacer un backup de la base de datos sin PHP?
Si no sabes, te recomiendo te documentes en la web oficial de MySQL o preguntes en el foro de Bases de datos.
MySQL por defecto trae varios scripts de utilidades, uno de ellos es para hacer copias de seguridad, de memoria no se como se llama (si esto es erróneo o alguien lo puede ampliar mejor).
Estos scripts han de ser llamados por consola, tendrías que averiguar si tienes alguna restriccion para ello por parte de tu hosting/servidor.
En el foro de Sistemas Operativos Linux puedes recabar mas información al respecto sobre permisos de ejecucion de esos scripts.
Por último para ejecutar un script de este tipo de puedes ayudar de la funcion exec() de PHP.
Mas info en
http://es2.php.net/manual/es/function.exec.php