I use mysqldump command to dump the some information from the sql tables. To do this I read about mysqldump. Then for a test I made a direct command which will run able in the terminal shell. That command were successfully produces the result which I needed. Then after that I have to implemented the command in my application code. My application is in the golang. Using exec.Command()
I will able to run that command. But there is a run time error while the command will executed. The error I'm facing in terminal is:
exit status 2: mysqldump: Got error: 1044: "Access denied for user ''@'localhost' to database 'db_name'" when selecting the database
Command which I used:
direct command which produce success result
sudo mysqldump -h 127.0.0.1 --no-create-info db_name table_name --where='id=1121' > /path/of/file/php1_dump.sql
code I'm using in golang:
cmd := exec.Command("sh", "-c", "mysqldump -h 127.0.0.1 --no-create-info db_name table_name --where='id=1121' > /home/iron/go/php1_dump.sql")
var out bytes.Buffer
var stderr bytes.Buffer
cmd.Stdout = &out
cmd.Stderr = &stderr
err := cmd.Run() // give the above error I mentioned
if err != nil {
fmt.Println(fmt.Sprint(err) + ": " + stderr.String())
fmt.Println("errrrrrrrrrrrrrrrrrrrr", err) // exit status 2
}
fmt.Println("Result: " + out.String())
I also tried the below commands:
sudo mysqldump -h 127.0.0.1 -u root -p --no-create-info bk_admin wp_merchants --where='id=1121' > /home/iron/go/php1_dump.sql
The above command ask to enter the password. But I didn't setup any password of phpmysqladmin:
Please tell me that where I'm doing this wrong?