陈广安个人网站
会写代码的咸鱼
陈广安个人网站阿里云盘资源
陈广安个人网站网盘资源搜索
“ 梦想还是要有的,万一实现了呢!”
— 马云

php进行mysql数据库备份

创建时间:2019-03-19

mysql数据库备份,只能在PHP 5一下正常运行

新建php文件,复制粘贴下面代码,直接a标签访问该新建php文件即可

<?php// 数据库备份header("Content-type:text/html;charset=utf-8");
$dbms = \'mysql4\';					// 数据库类型,此项不可修改$dbhost = \'127.0.0.1\';				// 数据库服务器$dbuser = \'mrchenanan\';					// 数据库用户名//yanhuang520$dbpw = \'mrchenanan\';					// 数据库密码$dbname = \'mrchenanan\';				// 数据库名$dbconnect = \'0\';					// 数据库持久连接 0=关闭, 1=打开$mysql_mylink = @mysql_connect($dbhost, $dbuser, $dbpw);

mysql_query("SET NAMES \'utf8\'");

$tablepre = \'an_\';			// 表 前缀$charset=\'utf-8\';					//设置字符集@$CONFIG[charset]=\'utf-8\';			//设置字符集global $dbhost,$dbuser,$dbpw,$dbname;//配置信息$cfg_dbhost = $dbhost;
$cfg_dbname = $dbname;
$cfg_dbuser = $dbuser;
$cfg_dbpwd = $dbpw;
$cfg_db_language = \'utf8\';
$to_file_name = \'db/\'.date("YmdHis")."-$dbname.sql"; //备份名称// END 配置//链接数据库$link = mysqli_connect($cfg_dbhost,$cfg_dbuser,$cfg_dbpwd,$cfg_dbname);//选择编码mysqli_set_charset($link,$cfg_db_language);//数据库中有哪些表$tables = mysqli_query($link,"show tables");//die(var_dump($tables));//将这些表记录到一个数组$tabList = array();while($row = mysqli_fetch_row($tables)){
    $tabList[] = $row[0];
}//echo "运行中,请耐心等待...<br/>";$info = "-- ----------------------------\\r\\n";
$info .= "-- 日期:".date("Y-m-d H:i:s",time())."\\r\\n";
$info .= "-- ----------------------------\\r\\n";
$info .= "-- ----------------------------\\r\\n\\r\\n";
file_put_contents($to_file_name,$info,FILE_APPEND);//FILE_APPEND:在文件末尾以追加的方式写入数据//将每个表的表结构导出到文件foreach($tabList as $val){
    $sql = "show create table ".$val;
    $res = mysqli_query($link,$sql);
    $row = mysqli_fetch_array($res);
    $info = "-- ----------------------------\\r\\n";
    $info .= "-- Table structure for `".$val."`\\r\\n";
    $info .= "-- ----------------------------\\r\\n";
    $info .= "DROP TABLE IF EXISTS `".$val."`;\\r\\n";
    $sqlStr = $info.$row[1].";\\r\\n\\r\\n";//追加到文件
    file_put_contents($to_file_name,$sqlStr,FILE_APPEND);//释放资源
    mysqli_free_result($res);
}//将每个表的数据导出到文件foreach($tabList as $val){
    $sql = "select * from ".$val;
    $res = mysqli_query($link,$sql);//如果表中没有数据,则继续下一张表
    if(mysqli_num_rows($res)<1) continue;////    $info = "-- ----------------------------\\r\\n";//    $info .= "-- Records for `".$val."`\\r\\n";//    $info .= "-- ----------------------------\\r\\n";
    file_put_contents($to_file_name,$info,FILE_APPEND);//读取数据
    while($row = mysqli_fetch_row($res)){
        $sqlStr = "INSERT INTO `".$val."` VALUES (";        foreach($row as $zd){
            $sqlStr .= "\'".$zd."\', ";
        }//去掉最后一个逗号和空格
        $sqlStr = substr($sqlStr,0,strlen($sqlStr)-2);
        $sqlStr .= ");\\r\\n";
        file_put_contents($to_file_name,$sqlStr,FILE_APPEND);
    }//释放资源
    mysqli_free_result($res);
    file_put_contents($to_file_name,"\\r\\n",FILE_APPEND);
}//浏览器直接下载保存header("Content-type:application/octet-stream");
header("Content-Disposition:attachment;filename=".$to_file_name);
readfile($to_file_name);//输出一个文件// @unlink($to_file_name);//函数删除文件。// echo "OK!请到根目录的uploadfile/dbakup文件夹下取备份!";?>