clevis / database-backup
v1.0.0
2014-02-03 09:18 UTC
Requires
- clevis/mysql-dump: ~1.0
Requires (Dev)
- mockery/mockery: @dev
- nette/tester: @dev
- petrp/access: @dev
This package is auto-updated.
Last update: 2024-08-29 04:08:07 UTC
README
这是一个围绕 Clevis/MySQLDump 库的轻量级包装器,可以限制保留的最大备份数量。保留的备份将在此工具使用期间有效地分配到整个时间段。备份越旧,它们之间的时间间隔就越大。
备份随时间分布的可视化
安装
推荐使用 Composer 来安装此库。
composer require clevis/database-backup
基本用法
$mysqli = new mysqli('localhost', 'root', 'password', 'database'); $dumper = new MySQLDump($mysqli); // store backups to directory './backups' and keep at most 100 backups $backup = new Clevis\DatabaseBackup\DatabaseBackup($dumper, __DIR__ . '/backups', 100); $backup->backupDatabase();
如果你使用 dibi,你可以这样获取 $mysqli
对象
$mysqli = $dibiConnection->getDriver()->getResource();
高级用法
你可以通过配置 $dumper
实例来自定义创建的备份。
-
不要备份表
foo
$dumper->tables['foo'] = $dumper::NONE;
-
只备份表
foo
的结构,但不包括数据// CREATE TABLE `foo` (...) $dumper->tables['foo'] = $dumper::CREATE; // DROP TABLE `foo` IF EXISTS + CREATE TABLE `foo` (...) $dumper->tables['foo'] = $dumper::CREATE | $dumper::DROP;
-
只备份表
foo
的一些行$dumper->setCustomDataSelect('foo', 'SELECT * FROM `foo` WHERE `bar` = 1');
-
在备份表时不要锁定表
$dumper->setUseLock(FALSE);
-
更多示例请参阅 Clevis/MySQLDump 库的文档。