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?
2
Answers
It is prompting you to specify a password because you asked it to.
First skip -p in your command.
Use
To explicitly specify that there is no password and that mysqldump should not prompt for one.
I have also faced this same problem. I think you will have to make a new user in your
PHPMyAdmin -> users_account
with a validusername
andpassword
. Also, check all the privileges. Hope it will help you.