首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法连接到远程mysql (使用PuTTY和隧道)

无法连接到远程mysql (使用PuTTY和隧道)
EN

Stack Overflow用户
提问于 2018-07-21 05:12:47
回答 2查看 973关注 0票数 0

我正尝试在远程Debian服务器上使用mysql。我已经为PuTTy客户端配置了隧道:

  • In Session,主机名为远程IP地址,端口为22
  • In SSH/Tunnels I具有源端口3306和目标端口: 127.0.0.1:3306

我单击打开,键入用户名和密码以登录到服务器。

但是在这一点上我不能使用mysql。如果我在没有密码的情况下尝试:

代码语言:javascript
复制
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“部分出了问题,是端口转发出了问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-21 05:23:19

您要么忘记了root密码是什么,要么从未设置过它。无论哪种方式,您都需要设置/重置它。

如果你有ssh的访问权(你的帖子说你有),并且你有sudo访问权..这应该是小菜一碟。发出以下命令:

停止MySQl进程..大多数Debian系统将是

代码语言:javascript
复制
sudo service mysql stop

然后在没有密码的情况下安全启动MySQL:

代码语言:javascript
复制
sudo mysqld_safe --skip-grant-tables &

然后以root身份登录

代码语言:javascript
复制
mysql -u root

设置root的密码

代码语言:javascript
复制
use mysql;
update user set password=PASSWORD("PASSWORD") where User='root';
flush privileges;
quit

然后重启mysql

代码语言:javascript
复制
sudo service mysql restart

此时,当您发出以下命令时,应该会提示您输入密码:

代码语言:javascript
复制
mysql -u root -p
票数 0
EN

Stack Overflow用户

发布于 2018-07-21 06:13:52

听起来你不需要隧道。默认情况下,mysql安装将允许在没有密码的情况下从本地主机访问。ssh会话是远程的,但mysql会话将是本地的,因此您不需要更改绑定地址。

除非您的Windows是公共的并且可以从Debian访问,并且您已经在Windows中正确地安装了MySQL客户端,否则您仍然有几个比隧道更简单的选择。

只需启动ssh并输入sudo mysql,就可以了,不过,这取决于您的ssh用户和mysql用户-and他的权限-您需要调整-u-p参数。

您是否运行过mysql_secure_installation命令?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51450435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档