簡體   English   中英

使用PHP備份MySQL數據庫

[英]Backing up a MySQL database using PHP

我試圖使用下面的PHP腳本對名為“ backup”的MySQL數據庫進行備份,但是由於某種原因,它不起作用。 任何想法有什么問題嗎? 我想在包含數據的同一文件夾中創建一個名為test.sql的文件(因為數據庫很大,所以我只選擇了Temp> 35的值,但以后可以更改它)。 現在,當我運行它時,我得到了回顯,但是沒有創建文件。

<?php
$dbhost = '...';
$dbuser = '...';
$dbpass = '...';
$dbname = 'backup';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($dbname);

$tableName  = 'backup';
$backupFile = 'test.sql';
$query      = "SELECT * WHERE Temp>35 INTO OUTFILE '$backupFile' FROM $tableName";
$result = mysql_query($query);
echo "Backed up";
?>

你試一試。

$query  = "SELECT * INTO OUTFILE '$backupFile' FROM $tableName WHERE Temp>35";
$result = mysql_query($query) or die(mysql_error());
Try this and let me know:

  <?php
  $dbhost = '...';
  $dbuser = '...';
  $dbpass = '...';
  $dbname = 'backup';
  $conn = mysql_connect($dbhost, $dbuser, $dbpass);
  mysql_select_db($dbname);

  $databasename  = 'backup';
  $backupFile = 'test.sql';
  $query      = "SELECT * INTO OUTFILE '$backupFile' FROM $databasename WHERE Temp>35";
  $result = mysql_query($query);
  echo "Backed up";
  ?>
<?php
    $source_db='source_db';
    $target_db='target_db';

    $server='127.0.0.1';
    $user='root';
    $password='';

    mysql_connect($server,$user,$password);
    mysql_select_db($source_db);

    // Get names of all tables in source database
    $result=mysql_query("show tables");
    while($row=mysql_fetch_array($result)){
        $name=$row[0];
        $this_result=mysql_query("show create table $name");
        $this_row=mysql_fetch_array($this_result);
        $tables[]=array('name'=>$name,'query'=>$this_row[1]);
    }

    // Connect target database to create and populate tables
    mysql_select_db($target_db);

    $total=count($tables);
    for($i=0;$i < $total;$i++){
        $name=$tables[$i]['name'];
        $q=$tables[$i]['query'];

        mysql_query($q);
        mysql_query("insert into $name select * from $source_db.$name");
    }

?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM