Ошибка подключения к базе данных с помощью mysqldriver
Я пытаюсь выполнить инструкции здесь https://github.com/go-sql-driver/mysql#installation и http://go-database-sql.org/accessing.html, чтобы создать sql.db.
Первая строка моего кода имеет этот
db, err := sql.Open("mysql", "[email protected]/my_db")
Когда я запускал программу на терминале, я получил следующее:
Default addr for network ''localhost'' unknown
Почему это? Когда я проверил пользователя и принимал mysql, он указывает "имя пользователя" и "localhost". Я выполнил следующие параметры:
[username[:password]@][protocol[(address)]]/dbname[?param1=value1&...¶mN=valueN]
Ответы
Ответ 1
Возможно, вы захотите указать протокол (например, 'tcp
') вместо прямого localhost
.
См. эти примеры:
user:[email protected](localhost:5555)/dbname
В вашем случае:
[email protected](localhost)/my_db
Обратите внимание, что если вы используете протокол по умолчанию (tcp
) и host (localhost:3306
), это можно переписать как
user:[email protected]/dbname
Ответ 2
i столкнулся с аналогичной проблемой, поскольку я запускал контейнеры докеров на моей виртуальной машине Linux. В моем приложении (server.go) я изменил значение localhost, чтобы использовать ip моей виртуальной машины, а затем успешно скомпилировал и успешно выполнил контейнер.
контейнер mysql (3307) ↔ [(приложение mysql:: 3307) container] (expose 3000) ↔ world