CodeIgniter中的数据库备份

时间:2013-12-28 17:35:04

标签: php mysql codeigniter

由于PHP可用的执行时间和内存有限,可能无法备份超大型数据库 - 此行来自CI的dbutil类doc。据我所知,它说:

//php has a timeout of execution which is short also when it attempts to
// execute a time consuming action like db-backup might time out before
// completion..(Please mark If I were wrong)

And .. 限制内存是php运行时内存,可在 php.ini 文件中找到,默认情况下为2048.

对于这些线路,我很确定在我要备份大型数据库时会带来一个问题。我该怎么做呢?

 //1. Stored proceedure with event?
 // Well I want it to be executed once a day(so the event thing came up) or
 //2. Increase memory in php.ini?

我应该在这些和其他人之间走哪条路??

1 个答案:

答案 0 :(得分:1)

我建议您使用备份实用程序,例如MySQLDumper,因为它使用另一种技术来避免PHP最长执行时间。以下是官方网站的引用:

  

<强> MySQLDumper

     

PHP脚本的最长执行时间通常设置为30   大多数服务器安装的秒数。运行时间超过的脚本   这个限制将停止工作。此行为使备份   大数据库不可能。也许你已经有了这个具体的   使用其他工具时出现问题。

     

MySQLDumper使用专有技术来避免这个问题。它   只读取并保存一定数量的数据,然后自行调用   通过JavaScript递归并记住备份过程中的距离   它是。然后脚本从那一点恢复备份。