PHP Classes

Large Database Backup: Backup large MySQL databases into multiple files

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in Bookmark in
  Info   View files View files (6)   DownloadInstall with Composer Download .zip   Reputation   Support forum (6)   Blog    
Last Updated Ratings Unique User Downloads Download Rankings  
2015-01-12 (4 months ago) RSS 2.0 feedStarStarStarStar 65%Total: 3,842 All time: 784 This week: 1,120Down
Version License PHP version Categories  
backupmysql 1.1GNU General Publi...4.0Databases, Systems administration
Description Author  

This class can be used to backup large MySQL databases into multiple files.

It can list the tables of a given MySQL database and generate SQL statements to create and insert records with the current values of the table rows, as if it was creating a new database. The class stores the generated SQL statements in files.

A full backup process can be split in multiple iterations to not exceed PHP default script execution time limit. Each iteration dumps a limited number of table rows. An iteration can be executed by a script that redirects the page request to itself at the end to proceed to the next iteration.

Innovation Award  
PHP Programming Innovation award nominee
July 2007
Number 2

Prize: One downloadable copy of PhpED Professional
There are many pure PHP solutions for taking backup copies of MySQL databases.

Most solutions are suitable to run on restricted PHP hosting environments. However, if you have a large database it may take more time to create a backup copy than the default 30 second PHP script execution time limit. The backup process may not finish before the script is aborted.

This class provides a clever solution that avoids that problem. It splits the backup process into multiple steps, each extracting a limited number of table rows. This way, each step may take less time than the PHP execution time limit.

Manuel Lemos
Picture of Nadir Latif
Name: Nadir Latif is available for providing paid consulting. Contact Nadir Latif .
Classes: 14 packages by
Country: Pakistan Pakistan
Age: 32
All time rank: 881 in Pakistan Pakistan
Week rank: 69 Up2 in Pakistan Pakistan Down
Innovation award
Innovation award
Nominee: 9x

Winner: 1x

  Files folder image Files  
File Role Description
Accessible without login Plain text file connection_details.csv Data Contains configuration details
Accessible without login Plain text file db_backup.php Example sample file
Plain text file mysql_backup.php Class Contains all functions
Accessible without login Plain text file readme.txt Doc. Help file
Accessible without login Plain text file backup_details.csv Data Data file
Accessible without login Plain text file LICENSE.txt Doc. Documentation

 Version Control Unique User Downloads Download Rankings  
 100%Total:3,842All time:784
 This week:0This week:1,120Down
User Ratings User Comments (3)  
 All time
A very useful class.
5 years ago (Xav)
Thanks for your script.
6 years ago (gao hong ying)
Instructions are limited, and the backup repeatedly times out
7 years ago (Kent Parker)