我使用 mysqldump 命令转储 sql 表中的一些信息。为此,我阅读了有关 mysqldump 的内容。然后,为了进行测试,我创建了一个可以在终端 shell 中运行的直接命令。该命令成功地产生了我需要的结果。然后我必须在我的应用程序代码中实现该命令。我的应用程序在 golang 中。使用exec.Command()我将能够运行该命令。但在执行命令时出现运行时错误。我在终端中遇到的错误是:退出状态 2:mysqldump:出现错误:1044:选择数据库时“用户''@'localhost'对数据库'db_name'的访问被拒绝”我使用的命令:产生成功结果的直接命令 sudo mysqldump -h 127.0.0.1 --no-create-info db_name table_name --where='id=1121' > /path/of/file/php1_dump.sql我在 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.Buffervar stderr bytes.Buffercmd.Stdout = &outcmd.Stderr = &stderrerr := cmd.Run() // give the above error I mentionedif err != nil { fmt.Println(fmt.Sprint(err) + ": " + stderr.String()) fmt.Println("errrrrrrrrrrrrrrrrrrrr", err) // exit status 2}fmt.Println("Result: " + out.String())我还尝试了以下命令: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上述命令要求输入密码。但我没有设置 phpmysqladmin 的任何密码:请告诉我我哪里做错了?
- 2 回答
- 0 关注
- 146 浏览
添加回答
举报
0/150
提交
取消