• php 备份mysql数据库(joomla数据库可直接使用,其他数据库稍作修改即可)


    <?php
    require_once('configuration.php');
    $jconfig = new JConfig();
    $connect = mysql_connect($jconfig->host ,$jconfig->user, $jconfig->password);
    $result = mysql_list_tables($jconfig->db); 
    $tables = array();
    while ($row = mysql_fetch_row($result)) {
    	$tables[] =  $row[0];
    }
    
    mysql_select_db($jconfig->db);
    $sql = '';
    foreach($tables as $table){
    	$sql .= backupTable($table);
    }
    
    $r = file_put_contents('tmp/backup_'.date('Y-m-d-H-i-s').'.sql', $sql);
    
    if($r){
    	die('success');
    }else{
    	die('lalala');
    }
    
    mysql_close($connect);
    
    function backupTable($table){
    	$sqltxt = "DROP TABLE IF EXISTS $table;\n";
    	
    	$result = mysql_query("SHOW CREATE TABLE $table");
    	$row = mysql_fetch_assoc($result);
    	$createsql = $row['Create Table'];
    	$sqltxt .= $createsql.";\n\n";
    
    	$result = mysql_query("SELECT * FROM $table");
    	
    	$rows = array();
    	while($row = mysql_fetch_assoc($result)){
    		$fields = array();
    		foreach($row as $field){
    			$fields[] = '\''.mysql_escape_string($field).'\'';
    		}
    		
    		$rows[] = '('.implode(',', $fields).')';
    	}
    	if(!empty($rows)){
    		$sqltxt .= "INSERT INTO `$table` VALUES".implode(",\n", $rows).";\n";
    	}
    	
    	
    	$sqltxt .= "\n";
    
    	return $sqltxt;
    }



  • 相关阅读:
    一切都是对象
    对象入门
    同步计算输入的各个数的总和与平均值
    与时间有关的类Date,DateFormat,Calendar
    获取文件信息
    串行化
    分解
    高速缓存
    压缩
    MyCAT实现MySQL的读写分离
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3003922.html
Copyright © 2020-2023  润新知