在使用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