Hallo Leute, es ist fast 3 Uhr hier in London und ich verliere diesen Kampf. Ich versuche, eine MySQL-Datenbank in eine SQL-Datei zu dumpen. Es funktioniert gut von der Befehlszeile, aber nicht, wenn ich versuche, das gleiche von Golang zu tun (unter Verwendung der os/exec
Bibliothek). Ich habe fast alles ausprobiert, was mein blöder Kopf mir einfallen lassen könnte ... Es funktioniert gut mit dem echo-Befehl, aber es ignoriert mysqldump völlig. Könnten Sie mir bitte in die richtige Richtung zeigen?Golang os/exec dump mysql Daten in Datei
package main
import (
"os/exec"
"log"
"bufio"
"os"
"io"
)
func main() {
// This Doesn't
// cmd := exec.Command("mysqldump", "-P3306 -hhost -uuser -ppassword database_name")
// This Works
cmd := exec.Command("echo", "Hello World bla bla")
stdout, err := cmd.StdoutPipe()
if err != nil {
log.Fatal(err)
}
outfile, err := os.Create("./out.sql")
if err != nil {
log.Fatal(err)
}
defer outfile.Close()
// start the command after having set up the pipe
if err := cmd.Start(); err != nil {
log.Fatal(err)
}
// read command's stdout line by line
in := bufio.NewWriter(outfile)
defer in.Flush()
io.Copy(outfile, stdout)
}
Wie Dump nur eine MySQL-Tabelle mit diesem Befehl exceution –
wie gzip es? –