오늘도 한 뼘 더
[DB] panic: Database open error: error: default addr for network 'localhost:3306' unknown 본문
DevOps & Infra/DevOps
[DB] panic: Database open error: error: default addr for network 'localhost:3306' unknown
나른한댕댕이🐶 2023. 7. 18. 10:13728x90
반응형
# 배경
AWS Lambda에서 DB를 연결하는 과정에서 다음과 같은 에러가 발생하였다.
panic: Database open error: error: default addr for network 'localhost:3306' unknown
# 문제
DB를 연결하는 부분을 다음과 같이 작성하였다.
[user]:[password]@localhost:3306/[table]
AWS Lambda에 올린 코드는 Golang으로 작성하였는데, golang에서 디비를 연결할 때 sql-driver 라이브러리를 사용하였다.
해당 라이브러리 git을 확인해 보니 "tcp"또는 "unix"를 명시해줘야 했다.
https://github.com/go-sql-driver/mysql/blob/749ddf1598b47e3cd909414bda735fe790ef3d30/dsn.go#L86-L94
if cfg.Addr == "" {
switch cfg.Net {
case "tcp":
cfg.Addr = "127.0.0.1:3306"
case "unix":
cfg.Addr = "/tmp/mysql.sock"
default:
return errors.New("default addr for network '" + cfg.Net + "' unknown")
}
} else if cfg.Net == "tcp" {
cfg.Addr = ensureHavePort(cfg.Addr)
}
# 해결
github 내용을 참고하여 다음과 같이 코드를 변경하니 DB 연결이 올바르게 되는 것을 확인하였다.
[user]:[password]@tcp(localhost:3306)/[table]
728x90
반응형
'DevOps & Infra > DevOps' 카테고리의 다른 글
[Terraform] 테라폼 시작하기 (0) | 2023.07.24 |
---|---|
[SH] 쉘스크립트 기본 커맨드 - 입력/출력/주석/변수 (0) | 2023.07.20 |
[Grafana] Grafana에서 Slack 보내기 (0) | 2023.07.10 |
[Shell Script] Error - unexpected EOF while looking for matching `'' (0) | 2023.06.16 |
[Shell Script] Shell script에서 if문 | case문 사용하기 (0) | 2023.05.24 |
Comments