gpt4 book ai didi

mysql - 通过私有(private) IP 拒绝 Google Cloud MySQL 访问,但允许通过公共(public) IP 访问

转载 作者:行者123 更新时间:2023-11-29 15:36:31 24 4
gpt4 key购买 nike

我正在尝试通过其私有(private) IP 从我的 Google Cloud Compute 虚拟机连接到我的 Google Cloud MySQL 实例。两者都在同一个 VPC 中,并且看起来确实已到达 MySQL 实例,但拒绝访问并出现错误:

ERROR 1045 (28000): Access denied for user 'user'@'ip-address' (using password: YES)

我 100% 确定我使用了正确的用户名和密码。如果我尝试通过公共(public) IP(使用 SSL)使用相同的凭据从同一个虚拟机连接到同一个 MySQL 服务器,它就可以正常工作。

我尝试连接的用户也将其主机设置为通配符(因此它是'user'@'%')。它拥有我想要使用的数据库的所有权限(尽管在指示要使用哪个表之前访问被拒绝,所以我不确定这是否相关)。 SHOW GRANTS for user; 的输出是:

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE ON *.* TO 'user'@'%' WITH GRANT OPTION

GRANT ALL PRIVILEGES ON `database`.* TO 'user'@'%'

Google documentation只建议检查您的凭据,我确实验证了这一点,所以我希望这里的任何人都可以提供答案。

最佳答案

强制 TLS 似乎也会影响专用 IP 连接。对我来说,文档中并不清楚这一点,而且我收到的错误也没有提供太多见解。因此,我尝试在没有客户端 key /证书的情况下使用私有(private) IP 进行连接,而我确实将它们用于公共(public) IP。

我通过使用相同的客户端证书通过私有(private) IP 进行连接解决了该问题。

另一件事需要注意的是,禁用 TLS 强制并不能解决问题。根据我的设置,禁用 TLS 似乎不是一个选项,即使界面显示它已禁用。我不确定为什么会这样。

关于mysql - 通过私有(private) IP 拒绝 Google Cloud MySQL 访问,但允许通过公共(public) IP 访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58191223/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com