在使用github.com/go-sql-driver/mysql連接數據庫的時候出現如下錯誤
panic: dial tcp 127.0.0.1:3306: connect: connection refused
出錯代碼段
1
2
3
4
5
|
db
, err := sql.Open("mysql", "user:pass@tcp(192.168.1.1:3306)/sqlName")
if err != nil {
panic(err.Error())
}
defer db.Close()
|
解決方法
修改系統hosts文件
1
|
nano
/etc/hosts
|
增加行
1
|
192
.168.1.1 mysqlServiceHost
|
修改代碼
1
2
3
4
5
|
db
, err := sql.Open("mysql", "user:pass@tcp(mysqlServiceHost:3306)/sqlName")
if err != nil {
panic(err.Error())
}
defer db.Close()
|
問題解決
分析
由於數據庫IP為內網IP’段,導致DNS解析出錯變成127.0.0.1,使用hosts手動解析IP后可解決該問題
linux 解決方式:
修改redis.conf配置文件:
將bind:127.0.0.1 注釋掉
遠程的服務器如果連接此redis實例的話:
修改redis.conf配置文件,將 protectd-mode no 設置為no,默認為yes
這樣的話,另外一個台服務器就可以正常的遠程連接此服務器redis