Mysql: Не удается разрешить сетевой адрес со строкой подключения

Созданный на 27 февр. 2016  ·  8Комментарии  ·  Источник: go-sql-driver/mysql

Описание проблемы

Я только начал пробовать Go и хочу повторно реализовать сервер API, написанный в node с ним.

Я столкнулся с препятствием с библиотекой 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

Я попытался обернуть uri в tcp(dbinstance.eu-west-1.rds.amazonaws.com:3306) внутри строки, а затем получил:

Error 1045: Access denied for user 'mysql'@'****.2-4.cable.virginm.net' (using password: YES) ( * * - это некоторая часть сетевого адреса, которую я здесь не указываю)

В основном это мой провайдер кабельного телевидения - похоже, он останавливается на первом же пути.

Если я изменю его на tcp(ipaddress) кажется, что он подключается.

Версия моего приложения node отлично работает со строковым соединением

Конфигурация

* Версия драйвера (или git SHA): Версия 1.2

* Версия Go: версия go1.6 windows / amd64

* Версия сервера: MySQL 5.6.23

* Серверная ОС: 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 ERROR 1045

У меня возникла такая же проблема при подключении к RDS. добавление tcp () в протокол сработало. Спасибо

просто нужно добавить тип сети, что означает user: pass @ net (url) / db

Была ли эта страница полезной?
0 / 5 - 0 рейтинги