go-sql-driver / mysql использует имя хоста, а не IP - PullRequest
0 голосов
/ 20 марта 2019

У меня есть сервер1 и сервер2 . На server1 у меня есть приложение Go, пытающееся подключиться к MySQL на server2 .

Вот IP-адреса: server1 10.127.8.160; server2 10.127.8.161

Я получаю следующую ошибку:

Error 1045: Access denied for user 'root'@'server1' (using password: NO)

Это строка подключения, которую я использую:

root:@(10.127.8.161:3306)/mydatabase

Пароль для root - пустая строка. Я также попробовал 'root @' (без столбца) с тем же результатом. Я не думаю, что это важно, но я решил упомянуть об этом.

Это то, что у меня есть в server2 . У меня есть права на server1 , но только по IP. Соединение приходит с server1 по имени хоста.

+------------------------------------------------------+
| Grants for root@10.127.8.160                         |
+------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.127.8.160' |
+------------------------------------------------------+

Вопрос в том, как мне установить соединение, используя его IP, а не имя хоста? У меня нет большого контроля над server2 , чтобы добавить больше привилегий.

А для полноты это привилегии для имени хоста:

SHOW GRANTS FOR 'root'@'server1'    
ERROR 1141 (42000) at line 1: There is no such grant defined for user 'root' on host 'server1'

Ссылка на драйвер: https://github.com/go-sql-driver/mysql

Спасибо

...