最近在写 CMS 系统要用到数据库的备份和恢复,本着有轮子就用的原则(其实是懒。。),参考PHPCMS和DEDECMS 发现这个功能没有进行很好的封装,于是就有了自己开发封装个php备份恢复 MYSQL 的 类库 给大家使用,并且支持分卷备份。
该类库已经上传到 GitHub 和 composer
GitHub地址:
demo 地址:
composer 地址
使用方法:
备份数据库:
不使用AJAX
$backup = new \lotofbadcode\phpextend\databackup\mysql\Backup(‘127.0.0.1:3306’, ‘test’, ‘root’, ”);
$backup->setbackdir($backupdir) ->setvolsize(0.2);
do
{
$result = $backup->backup();
} while ($result[‘totalpercentage’] < 100);
2.使用AJAX备份(带进度条)
$backup = new \lotofbadcode\phpextend\databackup\mysql\Backup(‘127.0.0.1:3306’, ‘test’, ‘root’, ”);
$result = $backup->setbackdir($backupdir)
->setvolsize(0.2) //分卷大小
->ajaxbackup();
恢复数据库
1.不使用AJAX
$recovery = new \lotofbadcode\phpextend\databackup\mysql\Recovery(‘127.0.0.1:3306’, ‘test’, ‘root’, ”);
$recovery->setSqlfiledir(dirname(__FILE__) . DIRECTORY_SEPARATOR . ‘backup’);
do
{
$result = $recovery->recovery();
} while ($result[‘totalpercentage’] < 100);
2.使用AJAX(带进度条)
$recovery = new \lotofbadcode\phpextend\databackup\mysql\Recovery(‘127.0.0.1:3306’, ‘test’, ‘root’, ”);
$result = $recovery->setSqlfiledir(dirname(__FILE__) . DIRECTORY_SEPARATOR . ‘backup’)
->ajaxrecovery();
echo json_encode($result);
最后 引用星爷的一句话作为结束语:“创作这个事情是很主观滴,对于大家的批评,我们会改正滴”