亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

出現錯誤“dial tcp xxx:xxx:xxx:xxx:3306:

出現錯誤“dial tcp xxx:xxx:xxx:xxx:3306:

Go
aluckdog 2022-11-23 19:29:23
我有一個調用 sql 連接的 api。這是到某個遠程服務器的 sql 連接。執行查詢時出現錯誤“dial tcp xxx:xxx:xxx:xxx:3306: connect: connection refused”sql連接代碼func ConnectToMysqlDB(dbUser, dbPassword, dbHost, dbName string) *sql.DB {    connstr := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s", dbUser, dbPassword, dbHost, "3306", dbName)    var err error    log.Println("Carrying mysql query", connstr)    dB, err := sql.Open("mysql", connstr)    if err != nil {        log.Fatalf("error connection to mysql [%v] ..!!", err)    }    log.Print("mysql initialized ..!!")    return dB}查詢功能func GetUserIDs(dB *sql.DB, users []string) []int {    var newUsers []int    var newUser int    query := "SELECT id FROM phplist_user_user WHERE foreignkey in (%s)"    var usersStr string    for _, val := range users {        usersStr = usersStr + "'" + val + "'" + ","    }    usersStr = strings.TrimSuffix(usersStr, ",")    query = fmt.Sprintf(query, usersStr)    rows, err := dB.Query(query)    if err != nil {        fmt.Printf("Error in query : [%v]", err)    }    defer rows.Close()    for rows.Next() {        rows.Scan(&newUser)        newUsers = append(newUsers, newUser)    }    return newUsers}我收到錯誤的原因是什么:查詢錯誤:[dial tcp xxx.xxx.xxx.xxx:3306: connect: connection refused]
查看完整描述

1 回答

?
慕神8447489

TA貢獻1780條經驗 獲得超1個贊

我的兩分錢:

  1. 使用 sql.DB 中的 Ping() 方法驗證您是否真的連接到 mysql — 但是您必須注意某些錯誤可能是暫時的。例如,如果您遇到網絡問題或數據庫“重啟”(高可用性取決于許多因素)

  2. 檢查您是否使用了正確的 ip 和端口。也許數據庫和應用程序在不同的網絡中,或者數據庫服務器綁定了多個網卡。

另外,檢查這是否有幫助 https://github.com/go-sql-driver/mysql#allowcleartextpasswords


查看完整回答
反對 回復 2022-11-23
  • 1 回答
  • 0 關注
  • 143 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號