许多应用程序允许我使用用户名、密码主机和端口连接到 Mysql。有些允许我配置套接字而不是host:port
.
一个比另一个有明显的好处吗?我可以想象一个套接字只有当 MySQL 在同一台机器上时才有效。是这样吗?如果是这样,使用那个套接字而不是连接到有什么好处localhost:3306
吗?
我不太熟悉网络和套接字的来龙去脉,所以也许我完全遗漏了一些关键信息,而且我的问题很愚蠢;如果是这样,你能解释一下我错过了什么吗?
许多应用程序允许我使用用户名、密码主机和端口连接到 Mysql。有些允许我配置套接字而不是host:port
.
一个比另一个有明显的好处吗?我可以想象一个套接字只有当 MySQL 在同一台机器上时才有效。是这样吗?如果是这样,使用那个套接字而不是连接到有什么好处localhost:3306
吗?
我不太熟悉网络和套接字的来龙去脉,所以也许我完全遗漏了一些关键信息,而且我的问题很愚蠢;如果是这样,你能解释一下我错过了什么吗?
好吧,这很简单。
套接字是一种基于文件的通信,您不能从另一台机器访问套接字。
另一方面,端口对世界开放(取决于配置),您可以使用主机+端口组合从其他机器访问 mysql。
另外,据我了解套接字,它们只是主机+端口的组合,只是文件格式。因此,我没有看到使用它们中的任何一个有任何明显的好处(据我所知)。
虽然我个人更喜欢使用主机+端口,因为我的代码变得更加灵活,因为我可以将它移动到另一台机器,而无需做太多更改。
从一些旧帖子中复制粘贴:
... 10年后,
GCP MySQL 有一个 sql 代理,您可以通过它使用来自 VM 的套接字连接到不同 VM 上的 MySQL 服务器。
使用 Cloud SQL Auth 代理进行连接