web-dev-qa-db-ja.com

mysqlドライバーを使用したデータベースへの接続エラー

私はここの指示に従うことを試みています https://github.com/go-sql-driver/mysql#installation および http://go-database-sql.org/ access.html でsql.dbを作成します。

私のコードの最初の行にはこれがあります

db, err := sql.Open("mysql", "username@localhost/my_db")

ターミナルでプログラムを実行すると、次のようになりました。

Default addr for network ''localhost'' unknown

どうしてこれなの? mysqlのユーザーとホストを確認すると、「username」と「localhost」と表示されます。私はこのようなパラメーターに従いました:

[username[:password]@][protocol[(address)]]/dbname[?param1=value1&...&paramN=valueN]
35
user3918985

tcpの代わりに、プロトコル( 'localhost'など)を指定することもできます。
を参照 これらの例

user:password@tcp(localhost:5555)/dbname

あなたの場合:

username@tcp(localhost)/my_db

デフォルトのプロトコル(tcp)とホスト(localhost:3306)、これは次のように書き換えられます。

user:password@/dbname
85
VonC

linux VMでdocker containerを実行しているときに、同様の問題に直面していました。私のアプリケーション(server.go)で、localhostの値を変更して仮想マシンのIPを使用し、コンテナーを正常にビルドして実行しました。

mysql container(3307)<-> [(application mysql :: 3307)container](expose 3000)<-> world

0
nevosial