Próbuję połączyć się ze zdalną bazą danych mysql za pomocą programu go i pakietu database/sql. Uważam, że dokumentacja go/mysql jest myląca. Wygląda na to, że nie ma jednego przykładu, jak połączyć się ze zdalnym hostem. Jak każdy użyłby localhost. Do tej pory mam tenGolang, jak otworzyć zdalne połączenie mysql?
import (
"database/sql"
_ "github.com/ziutek/mymysql/godrv"
db, err := sql.Open("mymysql", "tcp:"+dbHost*dbName+"/"+user+"/"+pass)
defer db.Close()
oparta na docs z https://github.com/ziutek/mymysql
[PROTOCOL_SPECFIIC*]DBNAME/USER/PASSWD
//
// where protocol specific part may be empty (this means connection to
// local server using default protocol). Currently possible forms:
// DBNAME/USER/PASSWD
// unix:SOCKPATH*DBNAME/USER/PASSWD
// unix:SOCKPATH,OPTIONS*DBNAME/USER/PASSWD
// tcp:ADDR*DBNAME/USER/PASSWD
// tcp:ADDR,OPTIONS*DBNAME/USER/PASSWD
Próbowałem też
db, err := sql.Open("mymysql", "tcp:"+dbHost, dbName+"/"+user+"/"+pass)
i to nie działa albo. Cała składnia wydaje się być zagadkowa.
Używając identyfikatora URI, który zasugerowałeś, otrzymuję komunikat "Wrong database element of URI". Czy DNS jest absolutnie wymagany? To naprawdę nie ma sensu ... –
DSN zwykle nie wymagają nazwy bazy danych. Sprawdziłbym, czego wymaga ta biblioteka, której używasz. Używam innej biblioteki. – dethtron5000
nevermind, działa ... Używałem starej biblioteki (ziutek). Bardzo dziękuję za Twoją pomoc! –