首页 > 解决方案 > go-sql-driver/mysql 使用主机名而不是 IP

问题描述

我有server1server2。在server1我有一个 Go 应用程序,试图连接到server2上的 MySQL 。

以下是 IP: server1 10.127.8.160; 服务器2 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

谢谢

标签: mysqlgodriver

解决方案


推荐阅读