Dan*_*nny 2 mysql perl socat unix-socket inet-socket
我很好奇是否可以将UNIX套接字映射到INET套接字.情况很简单,我想连接到MySQL服务器.不幸的是它禁用了INET套接字,因此我只能连接UNIX套接字.我正在使用/写入的工具必须连接在INET套接字上,所以我试图看看是否可以将一个映射到另一个.
这需要相当多的搜索,但我确实找到了socat,据说它正在寻找我正在寻找的东西.我想知道是否有人对如何实现这一点有任何建议.我一直在使用的命令行(部分成功)是:
socat -v UNIX-CONNECT:/var/lib/mysql/mysql.sock TCP-LISTEN:6666,reuseaddr
Run Code Online (Sandbox Code Playgroud)
现在我可以建立连接并与服务器通信.不幸的是,任何尝试进行多个连接都会失败,因为我需要使用fork选项,但是这个选项似乎使连接无法正常运行.
我知道我可以用Perl(我的首选语言)来解决这个问题,但我宁愿避免自己编写整个实现.我熟悉IO :: Socket库,我只是希望有人有这方面的经验.对建议/想法持开放态度.
谢谢.
颠倒你的参数的顺序socat,它的工作原理.
socat -v tcp-l:6666,reuseaddr,fork unix:/var/lib/mysql/mysql.sock
Run Code Online (Sandbox Code Playgroud)
这指示socat到
SO_REUSEADDR)/var/lib/mysql/mysql.sock套接字的UNIX域连接.反过来写它
socat -v unix:/var/lib/mysql/mysql.sock tcp-l:6666,reuseaddr,fork
Run Code Online (Sandbox Code Playgroud)
不行,因为这个指示socat到
/var/lib/mysql/mysql.sock套接字的UNIX域连接.SO_REUSEADDR)| 归档时间: |
|
| 查看次数: |
3229 次 |
| 最近记录: |