我正在尝试在远程debian服务器上使用mysql。我已经为putty客户端配置了一个隧道:
在 Session
,主机名是远程ip地址,端口是22
在 SSH/Tunnels
我有源端口3306和目标端口:127.0.0.1:3306
我单击“打开”,键入用户名和密码以登录到服务器。
但现在我不能使用mysql。如果我在没有密码的情况下尝试此操作:
mysql -u root -p
我明白了 access denied for user 'root'@localhost' (using password: NO)
我不确定这是因为确实需要一些密码,还是端口转发有问题-我怎么知道?
我试着去医院 my.cnf
归档并更改 bind address 127.0.0.1
改为远程地址,但没有变化。可能mysql需要重新启动,但是我在尝试重新启动它时,访问被拒绝(同样的mysql错误消息)。
我可以在putty事件日志中看到 "local port 3306 forwarding to 127.0.0.1:3306"
. 再往下一点,上面写着 "Opening connection to 127.0.0.1:3306 for forwarding from 127.0.0.1:55271"
-我不知道那是怎么回事?
我怎么知道问题是出在密码上,还是出在“ @localhost
“第二部分,是不是港口运输出了问题?
2条答案
按热度按时间efzxgjgh1#
您要么忘记了根密码是什么,要么从未设置过。。不管怎样,你都需要设置/重置它。
如果你有权
ssh
(你的帖子建议你这么做),你有sudo
访问。。这应该是一个快照。发出以下命令:停止mysql进程。。大多数debian系统将
然后无密码安全启动mysql:
然后以身份登录
root
```mysql -u root
然后重启mysql
此时,发出命令时应提示您输入密码:
yiytaume2#
听起来你不需要隧道。默认情况下,mysql安装将允许从localhost进行无密码访问。ssh会话是远程的,但是mysql会话是本地的,所以您不需要更改绑定地址。
除非您的windows ip是公共的,并且可以从debian访问,并且您已经在windows中正确安装了mysql客户机,否则您仍然有几个比隧道更简单的选项。
只需启动ssh并进入
sudo mysql
不过,您应该很好,根据您的ssh用户和mysql用户以及他的权限,您需要调整-u
以及-p
参数。你把车开走了吗
mysql_secure_installation
命令?