Mysql: μ—°κ²° λ¬Έμžμ—΄λ‘œ λ„€νŠΈμ›Œν¬ μ£Όμ†Œλ₯Ό 확인할 수 μ—†μŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2016λ…„ 02μ›” 27일  Β·  8μ½”λ©˜νŠΈ  Β·  좜처: go-sql-driver/mysql

문제 μ„€λͺ…

방금 Goλ₯Ό μ‚¬μš©ν•΄ 보기 μ‹œμž‘ν–ˆμœΌλ©°, 이λ₯Ό μ‚¬μš©ν•˜μ—¬ λ…Έλ“œλ‘œ μž‘μ„±λœ API μ„œλ²„λ₯Ό λ‹€μ‹œ κ΅¬ν˜„ν•˜λ €κ³  ν•©λ‹ˆλ‹€.

λ‚˜λŠ” ν•΄κ²°ν•  수 μ—†λŠ” κ²ƒμ²˜λŸΌ λ³΄μ΄λŠ” MySQL λΌμ΄λΈŒλŸ¬λ¦¬μ— μž₯애물에 λΆ€λ”ͺν˜”λ‹€. AWS RDS μΈμŠ€ν„΄μŠ€μ— λŒ€ν•œ 연결을 μ—΄λ €κ³  ν•˜λŠ”λ° μ—°κ²° λ¬Έμžμ—΄μ΄ μžˆμŠ΅λ‹ˆλ‹€.

db, err := sql.Open("mysql", "username:[email protected]:3306/db_name")

κ·Έκ²ƒμœΌλ‘œ λ‚˜λŠ”μ΄ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€ :

default addr for network 'dbinstance.eu-west-1.rds.amazonaws.com:3306' unknown

λ¬Έμžμ—΄ λ‚΄λΆ€μ˜ tcp(dbinstance.eu-west-1.rds.amazonaws.com:3306) URIλ₯Ό λž˜ν•‘ν•˜λ €κ³  μ‹œλ„ν•œ λ‹€μŒ λ‹€μŒμ„ μ–»μŠ΅λ‹ˆλ‹€.

Error 1045: Access denied for user 'mysql'@'****.2-4.cable.virginm.net' (using password: YES) ( * *λŠ” 여기에 넣지 μ•Šμ€ λ„€νŠΈμ›Œν¬ μ£Όμ†Œμ˜ μΌλΆ€μž…λ‹ˆλ‹€)

기본적으둜 그것은 제 케이블 μ œκ³΅μžμž…λ‹ˆλ‹€ - 그것은 도쀑에 첫 번째 ν™‰μ—μ„œ λ©ˆμΆ”λŠ” κ²ƒμ²˜λŸΌ λ³΄μž…λ‹ˆλ‹€.

tcp(ipaddress) λ°”κΎΈλ©΄ μ—°κ²°λ˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

λ‚΄ μ•±μ˜ λ…Έλ“œ 버전은 λ¬Έμžμ—΄ μ—°κ²°λ‘œ 잘 μ‹€ν–‰λ©λ‹ˆλ‹€.

ꡬ성

*λ“œλΌμ΄λ²„ 버전(λ˜λŠ” git SHA): 버전 1.2

*Go 버전: go 버전 go1.6 windows/amd64

*μ„œλ²„ 버전: MySQL 5.6.23

*μ„œλ²„ OS: Amazon RDS

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

db, err := sql.Open("mysql", "username:password@tcp(dbinstance.eu-west-1.rds.amazonaws.com:3306)/db_name") λŠ” μ •ν™•ν•΄μ•Ό ν•©λ‹ˆλ‹€.

Error 1045: Access denied for user 'mysql'@'****.2-4.cable.virginm.net' (using password: YES) λŠ” MySQL μ„œλ²„μ˜ μ‘λ‹΅μž…λ‹ˆλ‹€. μ‚¬μš©μž 이름 λ˜λŠ” λΉ„λ°€λ²ˆν˜Έκ°€ 잘λͺ»λ˜μ—ˆκ±°λ‚˜ μ„œλ²„κ°€ IP의 연결을 ν—ˆμš©ν•˜μ§€ μ•ŠλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. λ…Έλ“œ λ˜λŠ” 곡식 c lib와 같은 λ‹€λ₯Έ λΌμ΄λΈŒλŸ¬λ¦¬μ™€ λ™μΌν•œ 자격 증λͺ… 및 λ™μΌν•œ ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ μž‘λ™ν•©λ‹ˆκΉŒ?

λͺ¨λ“  8 λŒ“κΈ€

db, err := sql.Open("mysql", "username:password@tcp(dbinstance.eu-west-1.rds.amazonaws.com:3306)/db_name") λŠ” μ •ν™•ν•΄μ•Ό ν•©λ‹ˆλ‹€.

Error 1045: Access denied for user 'mysql'@'****.2-4.cable.virginm.net' (using password: YES) λŠ” MySQL μ„œλ²„μ˜ μ‘λ‹΅μž…λ‹ˆλ‹€. μ‚¬μš©μž 이름 λ˜λŠ” λΉ„λ°€λ²ˆν˜Έκ°€ 잘λͺ»λ˜μ—ˆκ±°λ‚˜ μ„œλ²„κ°€ IP의 연결을 ν—ˆμš©ν•˜μ§€ μ•ŠλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. λ…Έλ“œ λ˜λŠ” 곡식 c lib와 같은 λ‹€λ₯Έ λΌμ΄λΈŒλŸ¬λ¦¬μ™€ λ™μΌν•œ 자격 증λͺ… 및 λ™μΌν•œ ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ μž‘λ™ν•©λ‹ˆκΉŒ?

μ‹ κ²½ 쓰지 λ§ˆμ„Έμš”. 도메인 λŒ€μ‹  IP μ£Όμ†Œλ₯Ό μ‚¬μš©ν•˜λ©΄ μž‘λ™ν•œλ‹€κ³  이미 μΌμŠ΅λ‹ˆλ‹€.

DSN도 잘 νŒŒμ‹±λ©λ‹ˆλ‹€: User:username Passwd:password Net:tcp Addr:dbinstance.eu-west-1.rds.amazonaws.com:3306 DBName:db_name .
λ‚˜λŠ” 였λ₯˜κ°€ μ„œλ²„ 츑에 μžˆμ–΄μ•Όν•œλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. λ“œλΌμ΄λ²„κ°€ 잘 μ—°κ²°λ˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

κ·Έλž˜λ„ λ¬Έμ œκ°€ 있으면 λ‹΅μž₯을 λ³΄λ‚΄μ£Όμ„Έμš”

μ—¬κΈ°κ°€ μ˜¬λ°”λ₯Έ μž₯μ†ŒμΈμ§€ ν™•μ‹€ν•˜μ§€ μ•Šμ§€λ§Œ 이것은 μ—¬μ „νžˆ β€‹β€‹λ‚˜μ—κ²Œ λ¬Έμ œμž…λ‹ˆλ‹€. λ™μΌν•œ 결과둜 urlκ³Ό ip μ£Όμ†Œλ‘œ 연결을 μ‹œλ„ν–ˆμŠ΅λ‹ˆλ‹€.

였λ₯˜ 1045: ' μ‚¬μš©μžμ— λŒ€ν•œ μ•‘μ„ΈμŠ€κ°€ κ±°λΆ€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.'@'.fios.verizon.net' (λΉ„λ°€λ²ˆν˜Έ μ‚¬μš©: 예)

λ“œλΌμ΄λ²„κ°€ λ¬Έμ œκ°€ μ•„λ‹ˆλ©° URL_STRING의 ꡬ성이 μ •ν™•ν•©λ‹ˆλ‹€(TCP ν”„λ‘œν† μ½œ μ‚¬μš©).

μ˜¬λ°”λ₯Έ κ΅¬μ„±μ˜ 예:

db, err := sql.Open("mysql", "username:password@tcp(dbinstance.eu-west-1.rds.amazonaws.com:3306)/db_name")

λ¬Έμ œκ°€ λ°μ΄ν„°λ² μ΄μŠ€ ꡬ성(mysql/mariadb)에 μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€. 이 문제의 참쑰에 λŒ€ν•œ 첨뢀 링크: MYSQL 였λ₯˜ 1045

RDS에 μ—°κ²°ν•˜λŠ” λ™μ•ˆ λ™μΌν•œ λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. ν”„λ‘œν† μ½œμ— tcp()λ₯Ό μΆ”κ°€ν•˜λ©΄ μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€. 감사 ν•΄μš”

net μœ ν˜•μ„ μΆ”κ°€ν•˜κΈ°λ§Œ ν•˜λ©΄ λ©λ‹ˆλ‹€. μ΄λŠ” user:pass@ net (url)/dbλ₯Ό 의미 ν•©λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰