登录
首页 >  Golang >  Go问答

在终端上正常运行的mysqldump及exec.Command导致1045错误

来源:stackoverflow

时间:2024-03-09 18:09:26 463浏览 收藏

从现在开始,我们要努力学习啦!今天我给大家带来《在终端上正常运行的mysqldump及exec.Command导致1045错误》,感兴趣的朋友请继续看下去吧!下文中的内容我们主要会涉及到等等知识点,如果在阅读本文过程中有遇到不清楚的地方,欢迎留言呀!我们一起讨论,一起学习!

问题内容

cmd初始化

cmd := exec.Command("mysqldump",
        "--column-statistics=0",
        "--default-character-set=utf8",
        "-P", port,
        "-h", host,
        "-u", username,
        fmt.Sprintf("-p'%s'", password),
        dbname)

我收到的错误文本

mysqldump:[警告] 在命令行界面上使用密码 可能会缺乏安全感。 mysqldump:出现错误:1045:用户访问被拒绝 尝试连接时“user”@“ipaddress”(使用密码:yes)

cmd.string()输出

/usr/bin/mysqldump --column-statistics=0 --default-character-set=utf8 -p 端口 -h 主机 -u 用户名 -p'密码' 数据库名

当我在同一台机器上的终端中执行 cmd.string() 输出时,一切都按预期工作。 造成这种行为的原因是什么?


解决方案


您可能有一个匿名用户 ''@'localhost'''@'127.0.0.1'

运行 mysql> SELECT user, host FROM mysql.user; 查看 mySQL 上有哪些用户。

Documentation

注意:空字符串在 MySQL 的身份验证算法中充当通配符

以上就是《在终端上正常运行的mysqldump及exec.Command导致1045错误》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>