I am trying to call mysqldump docker from the main system to save mysql dump from golang. It works correctly with the mysqldump host, but does not work with docker mysqldump.
func writeDb(dbName string)
{
var mysqldumpPath string = "/usr/bin/mysqldump"
cmd := exec.Command("docker", "exec", "some-mysql", mysqldumpPath, fmt.Sprintf("%s", USER), fmt.Sprintf("-p%s", PASSWORD) , dbName, ">", fmt.Sprintf("%s.sql", dbName))
stdout, err := cmd.StdoutPipe()
if err != nil
{
log.Fatal(err)
}
if err := cmd.Start(); err != nil
{
log.Fatal(err)
}
bytes, err := ioutil.ReadAll(stdout)
if err != nil
{
log.Fatal(err)
}
err = ioutil.WriteFile("./backup/" + dbName +".sql", bytes, 0644)
if err != nil
{
panic(err)
}
}
I only got this for a non- empty empty mysql dump database
source
share