phelium / mysql-backup
轻松备份MySQL数据库!
Requires
- php: >=5.3.0
This package is auto-updated.
Last update: 2024-09-21 09:09:03 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', 'mysql port');
MySQL端口号默认为3306。
使用
添加表
默认情况下,所有表都保存。如果您想保存一个或多个表,必须使用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
排除表
您可以通过使用excludeTables
函数排除备份中的一些表。参数必须是一个包含要排除的表名的数组。
$Dump = new MySQLBackup('localhost', 'root', '', 'blog'); $Dump->excludeTables(array(comments')); // Exclude comments table to the backup
设置文件名
默认情况下,生成的文件名为"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
不要添加CREATE DATABASE IF NOT EXISTS
默认情况下,在备份文件顶部添加了CREATE DATABASE IF NOT EXISTS指令。您可以使用addCreateDatabaseIfNotExists
禁用它(默认:true)
$Dump = new MySQLBackup('localhost', 'root', '', 'blog'); $Dump->addCreateDatabaseIfNotExists(false); // Not add the CREATE DATABASE IF NOT EXISTS statment
不要添加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();