λ°©κΈ 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μ κ°μ λ€λ₯Έ λΌμ΄λΈλ¬λ¦¬μ λμΌν μ격 μ¦λͺ
λ° λμΌν ν΄λΌμ΄μΈνΈμμ μλν©λκΉ?
μ κ²½ μ°μ§ λ§μΈμ. λλ©μΈ λμ IP μ£Όμλ₯Ό μ¬μ©νλ©΄ μλνλ€κ³ μ΄λ―Έ μΌμ΅λλ€.
DSNλ μ νμ±λ©λλ€: User:username Passwd:password Net:tcp Addr:dbinstance.eu-west-1.rds.amazonaws.com:3306 DBName:db_name
.
λλ μ€λ₯κ° μλ² μΈ‘μ μμ΄μΌνλ€κ³ μκ°ν©λλ€. λλΌμ΄λ²κ° μ μ°κ²°λλ κ² κ°μ΅λλ€.
κ·Έλλ λ¬Έμ κ° μμΌλ©΄ λ΅μ₯μ 보λ΄μ£ΌμΈμ
μ¬κΈ°κ° μ¬λ°λ₯Έ μ₯μμΈμ§ νμ€νμ§ μμ§λ§ μ΄κ²μ μ¬μ ν ββλμκ² λ¬Έμ μ λλ€. λμΌν κ²°κ³Όλ‘ urlκ³Ό ip μ£Όμλ‘ μ°κ²°μ μλνμ΅λλ€.
μ€λ₯ 1045: ' μ¬μ©μμ λν μ‘μΈμ€κ° κ±°λΆλμμ΅λλ€.
λλΌμ΄λ²κ° λ¬Έμ κ° μλλ©° 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λ₯Ό μλ―Έ ν©λλ€.
κ°μ₯ μ μ©ν λκΈ
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μ κ°μ λ€λ₯Έ λΌμ΄λΈλ¬λ¦¬μ λμΌν μ격 μ¦λͺ λ° λμΌν ν΄λΌμ΄μΈνΈμμ μλν©λκΉ?