我的GCE代理存在一个奇怪的问题。 我曾经有一个带有应用程序的docker映像,该应用程序将使用GCE代理连接到mysql数据库(第二代)。一切正常,但是我不得不停止服务一个月。
现在我需要备份它们,由于某种原因,我无法连接到dabase(配置基本上没有变化,并且我在代码中使用了相同的docker映像)
仔细检查后,我会在日志中看到:
Caused by: java.sql.SQLException: Access denied for user 'my-usr'@'cloudsqlproxy~SOME_IP' (using password: YES)
问题是,“ SOME_IP”实际上不是sql实例IP,我也不知道该IP的来源。
有人知道如何解决此问题吗?
我确实尝试过:
-重新创建数据库用户
-重新创建服务帐户
欢迎任何建议
答案 0 :(得分:1)
您可以使用Cloud SQL代理连接mysql实例,请参见下面的分步操作:
下载代理:
<div class="a">
<div class="A-1 clickable" data-id="1">A-1</div>
<div class="A-2 clickable" data-id="2">A-2</div>
<div class="A-3 clickable" data-id="3">A-3</div>
</div>
<div class="b">
<div class="B-1 clickable" data-id="1">B-1</div>
<div class="B-2 clickable" data-id="2">B-2</div>
<div class="B-3 clickable" data-id="3">B-3</div>
</div>
使代理可执行:
wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
使用代理连接到多个实例
chmod +x cloud_sql_proxy
尝试连接数据库
mysql -h127.0.0.1 -u $ YOUR_CLOUD_SQL_USER -p $ YOUR_CLOUD_SQL_PASSWORD
希望它对您有帮助!