У меня есть сервер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
Спасибо