DDEV通过SSH隧道连接MySQL数据库返回:无法分配请求的地址



我正在DDEV环境中本地开发TYPO3项目。所有开发人员都希望访问同一个MySQL数据库。我们希望通过SSH隧道连接到登台服务器来实现这一点。不幸的是,我没有设法从DDEV建立到数据库的SSH隧道。

我该怎么办?

ddev exec ssh -v -L 3306:127.0.0.1:3306 customer@stage.customer.tld

发生错误:

debug1: Local forwarding listening on ::1 port 3306.
bind [::1]:3306: Cannot assign requested address

其他端口也一样,总是同样的错误。我必须在DDEV中设置什么才能使此工作?

感谢您的支持!

问题解决

我所要做的就是切换到一个空闲端口,在我的情况下:3308

所以这段代码运行正常:

ddev exec ssh -v -4 -L 3308:127.0.0.1:3306 customer@stage.customer.tld

谢谢你的帮助!

在上面的评论中,我知道没有理由使用隧道而不是直接访问目标服务器。

但如果你必须,答案在https://www.electricmonk.nl/log/2014/09/24/ssh-port-forwarding-bind-cannot-assign-requested-address/-你需要使用ssh -4 -L 3306:127.0.0.1:3306 customer@stage.customer.tld

请注意,在ddev中,mariadb/mysql服务器不是在web容器内运行,它是一个单独的容器,所以把你的隧道放在web容器的3306上可能是一个错误。除了不需要隧道。

另外,sshd(在您的服务器上)默认不允许这种隧道,您必须在服务器上启用AllowTcpForwarding。

相关内容

  • 没有找到相关文章

最新更新