php写mysql连接服务 (php如何实现mysql的自动备份)

最近在写CMS 系统要用到数据库的备份和恢复,本着有轮子就用的原则(其实是懒。。),参考PHPCMS和DEDECMS 发现这个功能没有进行很好的封装,于是就有了自己开发封装个php备份恢复MYSQL 的类库给大家使用,并且支持分卷备份。

该类库已经上传到GitHub和composer

GitHub地址:https://github.com/lotofbadcode/phpextend

demo地址:https://github.com/lotofbadcode/phpextenddemo

composer 地址 https://packagist.org/packages/lotofbadcode/phpextend

使用方法:

备份数据库:

  1. 不使用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();

mysql备份恢复几种方法,php如何实现mysql的自动备份

ajax备份数据库

恢复数据库

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);

mysql备份恢复几种方法,php如何实现mysql的自动备份

ajax恢复数据库

最后 引用星爷的一句话作为结束语:“创作这个事情是很主观滴,对于大家的批评,我们会改正滴”