mysql - 通过 SSH 隧道访问 SQL

标签 mysql sql localhost

大家好,我遇到了这个奇怪的错误。 所以我创建了一个从远程计算机到我的计算机的隧道。 SQL 在端口 3306 上的删除 PC 上运行 我的隧道配置开始了

ssh -N -L 33307:127.0.0.1:3306 something.something.com

这意味着来自远程 pc 端口 3306 的有效流量被定向到我 Mac 的 33307 127.0.0.1 端口。 现在的问题是

mysql -u 用户 -phfkahfkz -p 33307

不工作,给出 user@localhost 错误

mysql -u user -phfkahfkz -p 33307 -h 127.0.0.1 工作正常

我的主机文件已经有了

127.0.0.1 本地主机

我尝试添加

本地主机 127.0.0.1

我不知道发生了什么

另一个问题,所以当我有效地创建隧道时,我不需要在我的 Mac 上安装 sql,对吗?我虽然它可能正在尝试连接到我的本地 sql 副本,所以我停止了 SQL 在本地运行并且

mysql -u 用户 -phfkahfkz -p 33307

mysql -u 用户 -phfkahfkz -p 33307 -h 本地主机

都给出无法连接到本地 MySQL 服务器

mysql -u 用户 -phfkahfkz -p 33307 -h 127.0.0.1

在本地 sql 服务停止的情况下工作正常

最佳答案

在 MySQL 中,localhost 不同于 127.0.0.1。

Localhost 被特殊对待,这意味着它根本不使用 TCP/IP,而是尝试通过套接字文件与本地 MySQL 实例通信。

您必须明确使用 127.0.0.1。

阅读https://dev.mysql.com/doc/refman/5.7/en/connecting.html了解详情。

关于mysql - 通过 SSH 隧道访问 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46514408/

相关文章:

php mysqli_query 拒绝用户访问

mysql - 关键字 - 和/

mysql - 使用 Q 在带有express和mysql的node中返回二次查询

mysql - 需要写MySQL case语句

apache - Apache如何在本地添加域名?

phpMyAdmin - 缺少 MySQL 扩展

mysql 计算单个表中的记录,需要帮助

php - 如何对右表中的特定行进行左连接?

php - 当我添加 root 密码时,XAMPP 未将 "unsecure"更新为 "secure"

tomcat - 无法使用IP地址访问Tomcat