我有 server1 和 server2 。在 server1 上,我有一个Go应用,试图在 server2 上连接到MySQL。
以下是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
谢谢