我想通过具有“localhost”访问权限的用户通过 ssh 隧道连接到远程 MySQL。
我用它来制作隧道:
ssh -f -N -L 33306:localhost:3306 user@remote-host
这要连接到主机:
mysql -h 127.0.0.1 -P 33306 -uuser -ppassword
我得到的错误是:
ERROR 1045 (28000): Access denied for user 'user'@'remote-host' (using password: YES)
问题是用户'user'@'remote-host'(或'user'@'%')不存在,只有'user'@'localhost'存在。
有没有办法强制远程主机,而无需服务器端修改认为我来自本地主机?这就是我无论如何都会通过 ssh 隧道进行连接的唯一原因。
笔记:
如果我想用这个命令连接:
mysql -h localhost -P 33306 -uuser -ppassword
我收到此错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
附加数据:
在 /etc/hosts 中的远程服务器上,值如下所示:
127.0.0.1 localhost
remote-ip remote-host