PHP导出MYSQL数据库并压缩

PHP可以一键导出MYSQL备份文件,并压缩存放,尽管phpMyAdmin有这功能,不过若你自己开发网站或者是为别人写CMS,你不应该要求别人用你程序的时候再去另外用phpMyAdmin备份MYSQL,这应该是你CMS中的一个功能,那么PHP如何实现一键备份MYSQL数据,这里是指把MYSQL内容全部导出成SQL文件,然后压缩SQL,介绍两种方法如下:

第一种:

<?php
$username = "root";//你的MYSQL用户名
$password = "";//密码
$hostname = "localhost";//MYSQL服务器地址
$dbname   = "cars";//数据库名
$dumpfname = $dbname . "_" . date("Y-m-d_H-i-s").".sql";
$command = "C:\\xampp\\mysql\\bin\\mysqldump --add-drop-table --host=$hostname --user=$username ";
if ($password) $command.= "--password=". $password ." ";
$command.= $dbname;
$command.= " > " . $dumpfname;
system($command);
// 压缩成ZIP文件
$zipfname = $dbname . "_" . date("Y-m-d_H-i-s").".zip";
$zip = new ZipArchive();
if($zip->open($zipfname,ZIPARCHIVE::CREATE))
{
   $zip->addFile($dumpfname,$dumpfname);
   $zip->close();
}
if (file_exists($zipfname)) {
    header(‘Content-Description: File Transfer‘);
    header(‘Content-Type: application/octet-stream‘);
    header(‘Content-Disposition: attachment; filename=‘.basename($zipfname));
    flush();
    readfile($zipfname);
    exit;
}
?>

上述代码可保存成一个PHP文件,如mysqlbak.php,注意,此文件必须有写权限。为了使用方便,你可以在后台给此文件一个链接,需要导出MYSQL时,你只需点击一下就执行备份导出操作。

第二种方法:不需要写权限,但不压缩SQL文件,代码如下:

<?php
ob_start();
$username = "root";
$password = "";
$hostname = "localhost";
$dbname   = "test";
$command = "C:\\xampp\\mysql\\bin\\mysqldump --add-drop-table --host=$hostname  --user=$username ";
if ($password) $command.= "--password=". $password ." ";
$command.= $dbname;
system($command);
$dump = ob_get_contents();
ob_end_clean();
header(‘Content-Description: File Transfer‘);
header(‘Content-Type: application/octet-stream‘);
header(‘Content-Disposition: attachment; filename=‘.basename($dbname . "_" . date("Y-m-d_H-i-s").".sql"));
flush();
echo $dump;
exit();
?>

两种方法你可以选用一种,同样可将第二种方法保存成mysqlbak.php文件,在后台给个链接,用着方便。

时间: 2024-10-12 20:01:17

PHP导出MYSQL数据库并压缩的相关文章

mysqldump导入导出mysql数据库

body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI",Tahoma,Helvetica,Sans-Serif,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;}

使用mysqldump导入导出MySQL数据库

数据库的基本导入\导出的命令 是 mysqldump 和 source 在linux下直接用命令行操作就可以 在windows下 一般情况下有两种方法一个也是用命令行 另一个是用phpmyadmin 先 来说说phpmyadmin 这个工具导出和导入很简单 而且导入时无需建库 直接还原成原来的数据库 用source 也可以还原 但他导入文件时有大小限制不能超过2M 再来说说 mysqldump 和 source 用命令操作很快 但是想把导出的文件再导入时必须先建立一个数据库(这个库可以随便起名)

用mysql workbench导出mysql数据库关系图

用mysql workbench导出mysql数据库关系图 1. 打开mysql workbench,选择首页中间"Data Modeling"下方的第二栏"Create EER Model From Existing Database";2. 在"Stored Connection"里选择"Manage Stored Connections...";3. 在Manage DB Connections里选择“New”新建连接,

导出Mysql数据库出错:Got error: 145: Table &#39;wp_options&#39; is marked as crashed and should be repaired when using LOCK TABLES的解决方法

mysqldump: Got error: 145: Table 'wp_options' is marked as crashed and should be repaired when using LOCK TABLES 错误如上所示. 今天在给自己的wp网站搬家的时候,导出数据时发现导不出来,报了如上的错误,在网上找了一下资料,说是这张张被标记有问题,需要优化.参考: http://www.cnblogs.com/hakuci/archive/2012/03/20/2407723.html

通过cmd窗口导入导出mysql数据库

1.导入数据库 使用source命令 首先要在cmd窗口中连接数据库,然后再用source命令进行导入操作 mysql>use 数据库名 mysql>source d:/dbname.sql 2.导出数据库 注意导出数据库时不需要连接数据库,直接切换至mysqld.exe所在目录后,执行以下命令即可(导出的sql文件在mysql安装路径的bin目录下) D:\Program Files\MySQL\MySQL Server 5.5\bin>mysqldump -u root -p gd_

(转)通过cmd窗口导入导出mysql数据库

本文转自:https://www.cnblogs.com/hanmk/p/7574376.html 1.导入数据库 使用source命令 首先要在cmd窗口中连接数据库,然后再用source命令进行导入操作 mysql>use 数据库名 mysql>source d:/dbname.sql 2.导出数据库 注意导出数据库时不需要连接数据库,直接切换至mysqld.exe所在目录后,执行以下命令即可(导出的sql文件在mysql安装路径的bin目录下) D:\Program Files\MySQ

PHPExcel导出mysql数据库数据

使用PHPExcel导出文件 首先看看上面的文章,写入方法一样,只是中间多了数据库的操作,后面还有excel浏览器输出. 数据库代码(数据库配置文件自行完成) <?php /*db.php*/ require dirname(__FILE__)."/dbconfig.php"; class db{ public $conn = null; public function __construct($config){ $this->conn=mysql_connect($con

linux中添加定时任务,定时导出mysql数据库的数据.

1.crontab -e                  #编辑属于当前用户的定时任务. 2.编辑:按键i:编写任务如:*/1 * * * * /usr/local/hy_mysql/bin/mysqldump -uroot -proot  --socket=/tmp/mysql3305.sock  test DM001>> /usr/local/sql_bak/dm001.sql > /dev/null 2>&1            #每隔一分钟导出数据库中的数据.

使用PowerDesigner导出MySQL数据库建模

数据库服务器在linux上面,客户端本子win8系统 1.安装odbc 1.1 下载odbc,http://dev.mysql.com/downloads/connector/odbc/  Windows (x86, 64-bit), MSI Installer 1.2 安装odbc(略) 1.3 打开odbc连接MySQL server,控制面板-查看方式选择小图标-管理工具-odbc数据源(64位)如图1-添加“MySQL ODBC 5.3 Unicode Driver”如图2-图3 图1