Я пытаюсь выполнить запрос 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, но не смог найти ничего актуального. Любая помощь будет оценена.