Si te fijas bien .. ¿que es phpMyadmin? .. Un script/aplicacione (eso sí grande) escrito en PHP que hace todo lo que quieres (pero más de las que necestias tal vez).
Si estudias su código .. (ya que es GPL) podrías incluso usar o ver como se hacen esas funcionalidades (en PHP) como para que las extraigas y las uses en tu aplicación.
En principio .. el tema de optimizar/reparar/reindexar son instrucciones SQL .. que como tal las mandas a ejecutar desde PHP vía la función: mysql_query()
busca por: REPAIR TABLE . .OPTIMIZE TABLE .. etc en:
www.mysql.com
Los backup's (y el restaurar ese backup) se trata simplemente de que generes un archivo (ya sea para guardarlo en un archivo de texto plano o bien en una BD) las sentencias SQL de "INSERT" (y opcionalmente las de la estructura de tu BD: CREATE table ..etc) con los datos de tu BD de forma dinámica; es decir .. haciendo una consulta SQL a tu(s) tablas implicadas (una a una) y generando ese "INSERT" con su sintax SQL adecuada (recuerda que para "PHP" una instrcción SQL no es más que una cadena (string), así que sólo tienes que respetar su sintax SQL).
Restaurar ese "backup" no es más que leer ese archivo y ejecutar esas sentencias SQL que has generado (y depende de estas .. crearas las tablas si existen .. etc).
Si quires algo hecho .. visita sitios como
www.hotscripts.com seguro que tienes scripts ya implementados que hagan eso (por lo menos los backup's sólo ..)
Un saludo,