PHP由于有运行时间限制,备份大量数据有困难的.
如果你在本地备份,不建使用HTTP.
可以以下面的方法实现.因为MySQL表作为文件存储,做一个备份是容易的。为了得到一个一致的备份,在相关的表上做一个LOCK TABLES。你只需一个读锁定;当你在数据库目录中做文件的一个拷贝时,这允许其他线程继续查询该表。如果你想要做一个SQL级的备份,你可以SELECT INTO OUTFILE。备份一个数据库的另一个方法是使用mysqldump程序: 为你的数据库做一个完整的备份:
 mysqldump --tab=/path/to/some/dir --opt --full你也可以简单地拷贝所有的表文件(“*.frm”、“*.MYD”和“*.MYI”文件),只要服务器不在更新任何东西。停止mysqld如果它正在运行,然后以--log-update选项启动它。你将得到一个名为“hostname.n”形式的日志文件, 这里n是随着你每次执行mysqladmin refresh或mysqladmin flush-logs、FLUSH LOGS语句、或重启服务器而递增的一个数字。这些日志文件向你提供了在你执行mysqldump处后面进行的复制数据库改变的所需信息。 --------------------
你可以将备份命令做成批处理,
运行 mysql -uroot -p****** <mysqldump.batch_file
即可实现完整备份,也可以让系统在某时自动运行,实现自动备份.