无法连接到远程mysql(使用putty和tunnel)

3z6pesqy  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(330)

我正在尝试在远程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 “第二部分,是不是港口运输出了问题?

efzxgjgh

efzxgjgh1#

您要么忘记了根密码是什么,要么从未设置过。。不管怎样,你都需要设置/重置它。
如果你有权 ssh (你的帖子建议你这么做),你有 sudo 访问。。这应该是一个快照。发出以下命令:
停止mysql进程。。大多数debian系统将

sudo service mysql stop

然后无密码安全启动mysql:

sudo mysqld_safe --skip-grant-tables &

然后以身份登录 root ```
mysql -u root

设置的密码 `root` ```
use mysql;
update user set password=PASSWORD("PASSWORD") where User='root';
flush privileges;
quit

然后重启mysql

sudo service mysql restart

此时,发出命令时应提示您输入密码:

mysql -u root -p
yiytaume

yiytaume2#

听起来你不需要隧道。默认情况下,mysql安装将允许从localhost进行无密码访问。ssh会话是远程的,但是mysql会话是本地的,所以您不需要更改绑定地址。
除非您的windows ip是公共的,并且可以从debian访问,并且您已经在windows中正确安装了mysql客户机,否则您仍然有几个比隧道更简单的选项。
只需启动ssh并进入 sudo mysql 不过,您应该很好,根据您的ssh用户和mysql用户以及他的权限,您需要调整 -u 以及 -p 参数。
你把车开走了吗 mysql_secure_installation 命令?

相关问题