mysql 云SQL代理错误-试图以套接字访问权限禁止的方式访问套接字

t40tm48m  于 2023-02-18  发布在  Mysql
关注(0)|答案(6)|浏览(176)

这是出现的错误,当我尝试使用云SQL代理来配置访问谷歌云SQL在windows -“listen tcp 127.0.0.1:3306:绑定:试图以套接字访问权限所禁止的方式访问套接字。”
这是我正在使用的命令“cloud_sql_proxy. exe-dir=/cloudsql -instances=my-project:us-central 1:sql-instance =tcp:3306 mysql -u --host“的格式-如文档中所述。
有谁能告诉我到底是什么原因吗?

u5i3ibmn

u5i3ibmn1#

SQL Server在本地占用3306端口。因此,在其运行时无法绑定到该端口。请停止SQL Server以将CloudSQL代理绑定到该端口。
在Windows 10的情况下:转到任务管理器-〉服务-〉MySQL 57
右键单击并停止该任务。完成后,尝试再次运行相同的命令。它将工作并显示为输出

Listening on 127.0.0.1:3306 for <instance-name>
jjjwad0x

jjjwad0x2#

听起来好像另一个进程已经在使用3306。您可以尝试指定一个不同的端口吗?例如-instances=my-project:us-central1:sql-instance=tcp:3307

ljo96ir5

ljo96ir53#

根据google文档,在windows cmd或google sdk shell cloud_sql_proxy.cmd -instances=<INSTANCE_CONNECTION_NAME>=tcp:3306 -credential_file=<PATH_TO_KEY_FILE>上使用此命令(确保将cloud_sql_proxy.cmd声明为环境变量),在您的情况下

  • 示例连接名称= my-project:us-central1:sql-instance
  • PATH_TO_KEY_FILE =在IAM面板中创建服务帐户并保存json文件,复制其路径并粘贴到此处。

如果这不起作用,尝试连接tcp到3307,如上面的帖子中提到的。

bvpmtnay

bvpmtnay4#

我我的情况下,我是使用docker图像与相同的端口安装在我的本地机器,所以本地mysql是不允许访问端口,因为它已经被使用和运行。我卸载本地mysql。现在它的工作很好

vmdwslir

vmdwslir5#

你需要一个令牌到SQL云你货车在这里生成令牌google service token generator,然后取它将生成的令牌,并把它放在这里,而INSTANCE_CONNECTION_NAME可以从谷歌云控制台的SQL示例概述页面中获取
云SQL代理-令牌=访问令牌

  • 示例=示例连接名称=tcp:端口号
    请参阅文档中的更多详细信息sql proxy auth更多连接方式
    对我来说,它解决了400个坏请求的问题
Response: {
 "error": "invalid_grant",
  "error_description": "Bad Request"
}

注意-如果你用这种方式连接你必须在sql示例配置页中允许不安全的连接

whitzsjs

whitzsjs6#

进入任务管理器-〉服务-〉MySQL 57停止你的Mysql或者你的Postgres示例重试。它应该工作。

相关问题