如何为客户以按钮形式做一个Php+MySQL的数据库的备份与还原???

解决方案 »

  1.   

    可以参照一下 phpmyadmin 里的导出功能。。关键是 导出的 sql 语句。
      

  2.   

    http://help.shopex.cn/help_shopex48-1235797529-11381.html
      

  3.   


    else if($action=='BackupDump')
    {
        //如果存在删除sql文件
        if(file_exists('backup.sql'))
            unlink('backup.sql');
            
        //如果存在删除rar文件
        if(file_exists('backup.rar'))
            unlink('backup.rar');
           
        $Command = "mysqldump --user=".$systemCfg['DBUSER'].
            " --password=".$systemCfg['DBPASS']." --database ".$systemCfg['DBNAME']." -C --single-transaction --add-drop-table > backup.sql"; 
        
        exec($Command,$Output,$RetVal);
        
        if($RetVal != 0)
        {
            echo json_encode(array('success'=>false,'error'=>'mysqldump 失败'));
            exit;
        }
        
        //文件不存在或者文件大小为0
        if((!file_exists('backup.sql')) || (filesize('backup.sql') <= 0))
        {
            echo json_encode(array('success'=>false,'error'=>'mysqldump产生文件不存在'));
            exit;
        }
        
        $Command = "rar a backup.rar backup.sql";
        exec($Command,$Output,$RetVal);    
        
        //rar文件不存在或者文件大小为0
        if((!file_exists('backup.rar')) || (filesize('backup.rar') <= 0))
        {
            echo json_encode(array('success'=>false,'error'=>'压缩失败'));
            exit;
        }
        
    //日志
    $result = OperLog($_SESSION['UserID'],'系统管理',"备份系统数据库");
    if(!$result['success'])
    echo json_encode($result);
        else
        {
            echo json_encode(array('success'=>true));
            exit;        
        }
    }
      

  4.   

    mysql 数据库备份与mysql还原方法