由于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?
我应该在这些和其他人之间走哪条路??
答案 0 :(得分:1)
我建议您使用备份实用程序,例如MySQLDumper,因为它使用另一种技术来避免PHP最长执行时间。以下是官方网站的引用:
<强> MySQLDumper 强>
PHP脚本的最长执行时间通常设置为30 大多数服务器安装的秒数。运行时间超过的脚本 这个限制将停止工作。此行为使备份 大数据库不可能。也许你已经有了这个具体的 使用其他工具时出现问题。
MySQLDumper使用专有技术来避免这个问题。它 只读取并保存一定数量的数据,然后自行调用 通过JavaScript递归并记住备份过程中的距离 它是。然后脚本从那一点恢复备份。