【发布时间】:2020-04-25 09:52:45
【问题描述】:
我正在尝试执行 MySQL 查询,该查询将输出作为 CSV 文件输出到指定目录。
func executeCommand(){
cmd := exec.Command("/usr/local/mysql/bin/mysql", "-e", "-hlocalhost", "-P3131", "-uroot", "-pmyPassword", "dbName", "> /path/to/output/folder/fileName.csv")
var out bytes.Buffer
var stderr bytes.Buffer
cmd.Stdout = &out
cmd.Stderr = &stderr
err = cmd.Run()
if err != nil {
fmt.Println(fmt.Sprint(err) + ": " + stderr.String())
}
fmt.Println("Result: " + out.String())
}
我收到以下错误:
退出状态1:mysql: [警告] 在命令行使用密码 接口可能不安全。
当我删除输出目录路径时,没有错误。 但我需要将我的输出生成文件放到指定目录中。
我也尝试用source 替换>,但没有成功。
此外,当我在终端上运行相同的程序时,它按预期工作,但我无法通过 Go 复制相同的内容。
/usr/local/mysql/bin/mysql -e "select * from tableName" -u root -p -h localhost -P 3131 dbName > /path/to/output/folder/fileName.csv
我尝试在 SO 上进行搜索,但找不到任何相关内容。 任何帮助将不胜感激。
【问题讨论】:
-
谁对我的问题投了反对票,请礼貌地写下相同的原因。谢谢。