如果我在命令提示符下运行以下命令...
mysql -h xxx.xxx.xxx.xxx -u myuser -p mydb
我可以访问数据库并从sql>命令提示符下成功运行查询
但是,当我在Golang中使用database/sql
软件包时,得到以下信息...
[0/0] 0x0错误1045:拒绝用户访问 'myuser'@'xxx.xxx.xxx.xxx'(使用密码:是)
请参见下面的代码...
db, err := sql.Open("mysql", myuser:mypassword@tcp(xxx.xxx.xxx.xxx:3306)/mydb)
if err != nil {
color.Red(err.Error())
}
var objects []map[string]interface{}
rows, err := db.Query("select * from mytable" , args...)
if err != nil {
return nil, err
}
请注意,db
var似乎很好,就好像它已连接到数据库一样,这是我尝试填充var行时遇到的错误。
我还创建了单元测试,该单元测试可以创建数据库和表并测试查询,所有这些都可以正常工作。
所有防火墙等均已关闭。
总结一下
远程+命令提示符-工作
本地+ golang-很好
远程+ golang-出现错误