api1024 / mysql-backup
轻松备份您的MySQL数据库!
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-28 19:36:29 UTC
README
简介
这是一个用于备份数据库的备份实用工具。备份文件包含构建表和插入数据的查询。
您可以选择一些或所有表,将备份压缩为ZIP或GZIP格式,并自动开始下载。
安装
使用Composer,在require部分添加此行
"phelium/mysql-backup": "dev-master"
然后运行composer update
。
初始化
require 'vendor/autoload.php'; use Phelium\Component\MySQLBackup;
要初始化MySQLBackup,您必须提供数据库信息
$Dump = new MySQLBackup('server name', 'user name', 'password', 'db name');
使用方法
添加表
默认情况下,所有表都保存。如果您想保存一个或多个表,必须使用addTable
或addTables
函数
$Dump = new MySQLBackup('localhost', 'root', '', 'blog'); $Dump->addTable('posts'); // Add the posts table $Dump->addTables(array('users', 'comments')); // Add the users and comments tables
设置文件名
默认情况下,生成的文件名为"dump_{数据库名称}_{日期}"。使用setFilename
方法,您可以指定不同的文件名
$Dump = new MySQLBackup('localhost', 'root', '', 'blog'); $Dump->setFilename('bkp_'.time());
不要转储表结构或数据
默认情况下,保存每个表的结构(结构)和数据。但是,可以使用setDumpStructure
和setDumpDatas
(默认:true)来选择不保存其中之一
$Dump = new MySQLBackup('localhost', 'root', '', 'blog'); $Dump->setDumpStructure(false); // Not the structure $Dump->setDumpDatas(false); // Not the datas
不要添加DROP TABLE
默认情况下,在每个CREATE TABLE之前添加DROP TABLE IF EXISTS指令。您可以使用addDropTable
禁用它(默认:true)
$Dump = new MySQLBackup('localhost', 'root', '', 'blog'); $Dump->addDropTable(false); // Not add the DROP TABLE IF EXISTS statment
不要添加IF NOT EXISTS
默认情况下,在CREATE TABLE期间添加IF NOT EXISTS指令。您可以使用addIfNotExists
禁用它(默认:true)
$Dump = new MySQLBackup('localhost', 'root', '', 'blog'); $Dump->addIfNotExists(false); // Not add the IF NOT EXISTS statment
压缩文件
要压缩输出文件,setCompress
允许使用ZIP或GZIP(默认:不压缩)
$Dump = new MySQLBackup('localhost', 'root', '', 'blog'); $Dump->setCompress('zip'); // zip | gz | gzip
删除文件
可以使用setDelete
自动删除生成的文件(默认:false)
$Dump = new MySQLBackup('localhost', 'root', '', 'blog'); $Dump->setDelete(true);
自动下载
要自动下载生成的文件,请使用setDownload
(默认:false)
$Dump = new MySQLBackup('localhost', 'root', '', 'blog'); $Dump->setDownload(true); // starts downloading
执行备份
要开始备份数据库,请使用dump
$Dump = new MySQLBackup('localhost', 'root', '', 'blog'); $Dump->dump();
完整示例
以下是一个备份blog数据库的示例。只保留posts、comments和users表。然后以ZIP格式压缩。生成的文件从服务器中删除,并自动开始下载。
<?php require 'vendor/autoload.php'; use Phelium\Component\MySQLBackup; $Dump = new MySQLBackup('localhost', 'root', '', 'blog'); $Dump->addTables(array('posts', 'comments', 'users')); $Dump->setCompress('zip'); $Dump->setDelete(true); $Dump->setDownload(true); $Dump->dump(); // or $Dump = new MySQLBackup('localhost', 'root', '', 'blog'); $Dump ->addTables(array('posts', 'comment', 'users')); ->setCompress('zip'); ->setDelete(true); ->setDownload(true); ->dump();