首页 > 解决方案 > 无法通过 Workbench(或任何 gui)连接到数字海洋 LEMP 堆栈 MySql,但可以通过终端 mysql cmd 连接

问题描述

我在每篇关于这个主题的帖子中都尝试过建议,但没有一个对我有用,所以我发布我自己的建议,以防有人发现我错过的任何内容。

我正在将 wordpress 站点迁移到 Digital Ocean 上的 LEMP(ubuntu,apache)堆栈实例中,并且我需要通过 MySQL Workbench 或本地计算机上的类似工具临时访问数据库。我打算在迁移完成后将其关闭。但是我遇到了一个非常奇怪的问题,我无法找出原因。

如果我尝试使用登录到 sql 实例

mysql -u user -h my.ip.address -p

我可以从我的本地机器访问就好了。

我也可以通过终端通过 SSH 连接到服务器本身,我已经在我的 ssh 配置文件中使用相同的 IP 地址以及我尝试用于我的工作台连接的相同用户和 ssh 密钥来设置它。

但是,通过工作台上的 SSH 连接执行相同操作,我不断收到错误消息:

Authentication failed, access denied.

Failed to connect to MySql at my.ip.address:3306 through ssh tunnel at user@127.0.0.1 with user mysqluser

我为试图纠正这一点所做的事情:

我可能错过了该清单上的一些东西,因为我觉得我已经尝试了一百万件事!

我什至在几天前设置的 LAMP 堆栈(不是 LEMP)上有一个不同的服务器,并且能够按照相同的步骤访问工作台上的 mysql 数据库,甚至尝试回溯和复制我所做的LAMP 服务器,但不行。

我检查了 mysql 实例的 netstats 并匹配了端口和 ip,但这不起作用,我确保 SSH 的端口是正确的,没有任何工作。

有没有人有任何提示?我一直在使用我能找到的所有“允许在数字海洋上远程连接 mysql”文章和问题,但没有任何效果。

这是我目前的 Workbench 连接配置,但我已经尝试了我能想到的每次迭代的感觉(重新用户、密码、IP 地址和端口)

SSH Hostname: my.ip.address
SSH Username: user
SSH Password: user-password (also tried empty, since i have a key)
SSH Key File: same key file i use to ssh on terminal
Mysql Hostname: 127.0.0.1 (also tried my.ip.address)
MySql Server Port: 3306 (also tried 33060)
Username: MySqlUser
Password: MySqlUser-Password (works when connecting to mysql via terminal)

标签: mysqlsshmysql-workbenchdigital-ocean

解决方案


推荐阅读