mysqldump Geçiş dönüş kodu en

2 Cevap php

Ben php üzerinden mysql dökümü yapmaya çalışıyorum.

Bu kod

$backupFile = $table. "-". date("Y-m-d-H:i:s") . '.gz';
    //Command nog aanpassen....
    $command = "mysqldump --opt -h $dbhost -u $dbuser -p $dbpass $dbname  | gzip > $backupFile";
    //$status = system($command);
    echo $backupFile ."<br>";
    $status = passthru($command, $a);
    echo "output:" .  $a;

Değeri $ a = 2. Ama bunun ne anlama bulamıyorum. Ben de yedek dosyasını hiçbir yerde bulamıyorum.

Herhangi bir fikrin?

2 Cevap

Ben bu sorunu olup olmadığından emin değilim, ama şifreniz geçen parametre yanlış gibi görünüyor.

Eğer-p kullanıyorsanız bunu gibi, boşluklarla olmadan, hemen yanındaki şifre olması gerekir:

$command = "mysqldump --opt -h $dbhost -u $dbuser -p$dbpass $dbname  | gzip > $backupFile";

Şifre = $ DBPASS - Ya uzun kullanın.

Örneğin:

$command = "mysqldump --opt -h $dbhost -u $dbuser --password=$dbpass $dbname  | gzip > $backupFile";

Mysqldump sayfasından:

- Şifre [= parola],-p [parola]

Sunucuya bağlanırken parola kullanın. Eğer kısa seçeneği formu (-p) kullanıyorsanız, seçeneği ve şifre arasında bir boşluk olamaz. Eğer aşağıdaki şifre değerini atlarsanız - komut satırında parola ya-p seçeneği, biri için istenir.

Ayrıca backup hedef olabilir. Eğer (sizin durumunuzda olası www-veri, ya da başka bir apache kullanıcısı) olarak mysqldump koşuyoruz kullanıcı Yedeğinizi yazmaya çalışıyoruz dizine yazma izni olduğundan emin olun. Bir çok kez ben komut satırından bir komut deneyin .. ve gayet iyi çalıştığını görmek .. ama ben www-data .. kök, ya da benim kullanıcı değilim edeceğiz.