【问题标题】:How can one unbind port 3306?如何解绑3306端口?
【发布时间】:2020-08-01 15:55:30
【问题描述】:

我是谷歌云的新手,但只能部署谷歌在其文档中提供的测试 Django 应用程序。此过程包括下载 cloud_sql_proxy 并在终端 (MacOS) 中运行以下命令:

./cloud_sql_proxy -instances="my-instance-274702:us-central1:fms"=tcp:3306

此命令开始运行代理,以便在本地连接到云中的数据库。一切正常,直到我用 ctrl + C 终止代理。当我运行以下命令再次启动代理时,出现以下错误:

ludovico@Ludovicos-MacBook-Pro django % ./cloud_sql_proxy -instances="my-instance-274702:us-central1:fms"=tcp:3306
2020/04/18 23:38:10 Rlimits for file descriptors set to {&{8500 9223372036854775807}}
2020/04/18 23:38:12 listen tcp 127.0.0.1:3306: bind: address already in use

我第一次执行此操作时遇到此错误,但我通过关闭在端口 3306 上运行的 MySQL 服务器来修复它。但是,现在端口 3306 已绑定到 cloud_sql_proxy,因此它会引发错误并且是无法启动代理。如果我使用端口 3307 运行相同的命令,它就可以正常工作:

./cloud_sql_proxy -instances="my-instance-274702:us-central1:fms"=tcp:3307

但是 Django 不寻找端口 3307,而是寻找端口 3306。

3306端口可以解绑吗?更好的是,是否有命令开始运行代理而不是每次绑定和解除绑定端口 3306?

【问题讨论】:

  • 您好,这样做,“ss -lptn”这将显示您正在运行的进程。检查在端口 3306 上运行的进程,然后通过“kill -9 {process_id}”终止该进程并重新运行您的代理应用程序。它将在 3306 上运行。然后 django 将正常工作。如果可行,请发表评论。
  • @Rahulroy "ss - lptn" 在终端返回错误:zsh: command not found: ss-lptn.
  • 命令是 ss -lptn 在 ss 和 "-lptn" 之间有一个空格希望你正确地绑定命令。它应该在 linux 环境下工作正常。
  • 我在 Mac 上,但我找到了一个类似的命令,谢谢
  • @Rahulroy 请将您的第一条评论作为答案,将其标记为答案并点赞

标签: mysql django google-cloud-platform google-cloud-sql cloud-sql-proxy


【解决方案1】:

使用 ss -lptn 运动命令显示哪个端口绑定到哪个进程。 然后杀死在 3306 上运行的进程 kill -9 {process_id} 这将解除您繁忙的 3306 端口的绑定。然后您可以在 3306 上运行进程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-20
    • 1970-01-01
    • 2015-05-11
    • 2015-08-25
    • 2011-09-02
    • 2014-04-14
    • 1970-01-01
    • 2017-04-29
    相关资源
    最近更新 更多