我正在尝试基本连接到我的mysql服务器,但我似乎无法让它实际连接。我知道凭证是有效的,并且拥有他们需要的所有权限,但由于某种原因,他们一直被拒绝。
package main
import (
"fmt"
"database/sql"
_ "github.com/go-sql-driver/mysql"
"os"
)
func main() {
db, err:= sql.Open("mysql", "user:pass@tcp(localhost:3306)/scf")
if err != nil {
fmt.Println(err)
os.Exit(1)
}
q, err := db.Prepare("SELECT * from logins limit 5")
if err != nil {
fmt.Println(err)
os.Exit(1)
}
rows, err := q.Query()
if err != nil {
fmt.Println(err)
os.Exit(1)
}
i := 0
for rows.Next() {
i++
var title string
err = rows.Scan( &title )
fmt.Printf("Title: %s \n", title)
}
db.Close()
}
修改
显然我忘了包含错误:
dial tcp 127.0.0.1:3306: connection refused
exit status 1
答案 0 :(得分:3)
connection refused
通常表示端口未打开或被防火墙阻止。有几件事需要检查:
答案 1 :(得分:0)
我遇到了类似的问题。我发现Mac上的端口不同。我无法在my.cnf
中找到它,但是在运行时设置了端口,您可以使用
ps ax | grep mysql