This class can be used to backup and restore MySQL databases. It can connect to a given MySQL database server and generate SQL statements that can be used to recreate the database tables and its contents. The class can backup all tables or a given subset. A separate auxiliary class can compress the backup data into a ZIP file. The main class can also extract the ZIP archive and execute the SQL statements generated by a prior backup session.