我想通过远程服务器上的套接字管道(mysql.sock
)进行远程连接,远程服务器使用sshfs
挂载到目录。但我遇到了一些问题。这是一个例子:
我有2台服务器。其中一个是NAT后面的mysql服务器(但是打开了ssh端口)。所以我不能通过以下方式直接打开mysql连接:
mysql -h mysql-server -u root -p
我尝试使用sshfs:
挂载 mysql-server sshfs user@mysql-server:/ ~/db
远程mysql.sock
文件现在位于:
~/db/var/lib/mysql/mysql.sock
但是在打电话之后:
mysql --socket=~/db/var/lib/mysql/mysql.sock -u root -p
我得到了:
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '~/db/var/lib/mysql/mysql.sock' (111)
bind-address
。
所以问题是:如何连接到通过ssh挂载的目录中的远程套接字?
OR
是否有可能使用ssh连接到远程mysql(所有其他端口都关闭)?我需要它以后使用php ...
答案 0 :(得分:4)
根据sshfs开发人员的说法,我认为这不会起作用...... Sockets are not supported over sshfs。
为什么不直接通过SSH隧道转发MySQL TCP端口?
ssh -L 3306:localhost:3306 user@mysql-server
mysql localhost ...