如何修复在谷歌云平台计算实例上被拒绝的mysql访问



为什么我的计算引擎在我的计算实例上下载了MySQL客户端并将计算实例的公共IP添加到CloudSQL授权连接后,无法使用公共IP连接MySQL?

$ mysql -h <cloud-sql-host> -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'XXX'@<cloud_sql_host> (using password: YES)

必须设置几个区域才能授予访问权限。

1( 计算引擎作用域

转到适用于计算引擎的 Google Cloud Console。仔细检查计算引擎的服务帐户允许的范围。默认情况下,不允许使用云 SQL。

2( 服务帐户权限

检查是分配给分配给计算引擎的服务帐户的角色。你将需要一个云 SQL 角色。通常,您将需要Cloud SQL Client.我前面提到的范围用于减少而不是增加服务帐户的权限。您仍需要向服务帐户授予正确的权限。

https://cloud.google.com/sql/docs/mysql/connect-external-app

3( 谷歌云SQL数据库权限

验证您的 MySQL 登录名是否已被"授予"登录权限。

  1. 转到 Google Cloud SQL 控制台。
  2. 转到"用户"选项卡。
  3. 选择您的用户名。
  4. 验证host是否为公共 IP 地址,或者可以选择使用%来表示任何主机。

注意:我建议使用云 SQL 代理来访问云 SQL。这是安全的,您不需要 IP 地址用于云 SQL。

云 SQL 代理

因此,对于新的集成连接器和MySQL,我收到此错误:

[28000] "用户名"@'34.3.56.65' 的访问被拒绝

解决方案是将IP地址34.3.56.65添加到我的本地控制面板上MySQL管理员的白名单列表中。

相关内容

  • 没有找到相关文章

最新更新