Привет, ребята, почти 3AM здесь, в Лондоне, и я проигрываю этот бой. Я пытаюсь сбросить базу данных mysql в файл sql. Он отлично работает из командной строки, но не тогда, когда я пытаюсь сделать то же самое из golang (используя библиотеку os/exec
). Я пробовал почти все, что могла придумать моя глупая голова ... Он отлично работает с командой echo, но полностью игнорирует mysqldump. Не могли бы вы указать мне в правильном направлении?Golang os/exec для вывода данных mysql в файл
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)
}
Как сбросить только одну таблицу MySQL используя эту команду exceution –
как ее использовать? –