小编ale*_*esf的帖子

通过ssh隧道连接到MySQL到localhost

我想通过ssh隧道与具有"localhost"访问权限的用户连接到远程MySQL.

我用这个做隧道:

ssh -f -N -L 33306:localhost:3306 user@remote-host
Run Code Online (Sandbox Code Playgroud)

这个连接到主机:

mysql -h 127.0.0.1 -P 33306 -uuser -ppassword
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

ERROR 1045 (28000): Access denied for user 'user'@'remote-host' (using password: YES)
Run Code Online (Sandbox Code Playgroud)

问题是用户"用户"@"远程主机"(或"用户"@"%")不存在,只有"用户"@"localhost"才有.

有没有办法强制远程主机,没有服务器端修改认为我来自localhost?这是我通过ssh隧道进行连接的唯一原因.


注意:

如果我想连接此命令:

mysql -h localhost -P 33306 -uuser -ppassword
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Run Code Online (Sandbox Code Playgroud)

其他数据:

在/ etc/hosts中的远程服务器上,值如下所示:

127.0.0.1       localhost
remote-ip       remote-host
Run Code Online (Sandbox Code Playgroud)

mysql ssh localhost tunnel

9
推荐指数
2
解决办法
5287
查看次数

标签 统计

localhost ×1

mysql ×1

ssh ×1

tunnel ×1