Mysql: Não é possível resolver o endereço de rede com a string de conexão

Criado em 27 fev. 2016  ·  8Comentários  ·  Fonte: go-sql-driver/mysql

Descrição do problema

Acabei de começar a experimentar Go e estou tentando reimplementar um servidor de API escrito em nó com ele.

Eu encontrei um obstáculo com a biblioteca MySQL que não consigo resolver. Estou tentando abrir uma conexão com uma instância AWS RDS e tenho a string de conexão:

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

Com isso, recebo este erro:

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

Eu tentei envolver o uri em um tcp(dbinstance.eu-west-1.rds.amazonaws.com:3306) dentro da string, e então recebo:

Error 1045: Access denied for user 'mysql'@'****.2-4.cable.virginm.net' (using password: YES) (o * * é alguma parte do endereço de rede que não estou colocando aqui)

Basicamente, esse é o meu provedor de cabo - parece que está parando no primeiro salto ao longo do caminho.

Se eu mudar para tcp(ipaddress) ele parece se conectar.

A versão do nó do meu aplicativo funciona bem com a conexão de string

Configuração

* Versão do driver (ou git SHA): Versão 1.2

* Versão Go: versão go go1.6 windows / amd64

* Versão do servidor: MySQL 5.6.23

* Sistema operacional de servidor: Amazon RDS

Comentários muito úteis

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

Error 1045: Access denied for user 'mysql'@'****.2-4.cable.virginm.net' (using password: YES) é uma resposta do servidor MySQL. Parece que seu nome de usuário ou senha estão errados ou o servidor não aceita conexões de seu IP. Funciona com as mesmas credenciais e do mesmo cliente com outras bibliotecas como a do node ou a c lib oficial?

Todos 8 comentários

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

Error 1045: Access denied for user 'mysql'@'****.2-4.cable.virginm.net' (using password: YES) é uma resposta do servidor MySQL. Parece que seu nome de usuário ou senha estão errados ou o servidor não aceita conexões de seu IP. Funciona com as mesmas credenciais e do mesmo cliente com outras bibliotecas como a do node ou a c lib oficial?

Esqueça, você já escreveu que funciona se você usar o endereço IP em vez do domínio.

O DSN também é analisado corretamente: User:username Passwd:password Net:tcp Addr:dbinstance.eu-west-1.rds.amazonaws.com:3306 DBName:db_name .
Acho que o erro deve estar no lado do servidor. O driver parece se conectar bem.

Se o problema persistir, por favor responda

Não tenho certeza se este é o lugar certo, mas isso ainda é um problema para mim. Tentei conectar com o url e o endereço ip com o mesmo resultado.

Erro 1045: Acesso negado ao usuário ''@'.fios.verizon.net '(usando senha: SIM)

O driver não é o problema e a configuração do seu URL_STRING está correta (com protocolo TCP).

Exemplo de configuração correta:

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

Talvez o seu problema esteja na configuração do seu banco de dados (mysql / mariadb). Link de anexo para a referência deste problema: MYSQL ERROR 1045

Eu tive o mesmo problema ao conectar-se ao RDS. adicionar tcp () no protocolo funcionou. Obrigado

só tem que adicionar o tipo de rede, o que significa usuário: pass @ net (url) / db

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

julienschmidt picture julienschmidt  ·  7Comentários

Dieterbe picture Dieterbe  ·  6Comentários

knadh picture knadh  ·  6Comentários

mayurshivakumar picture mayurshivakumar  ·  5Comentários

zhaohui-kevin picture zhaohui-kevin  ·  5Comentários