如何解决无法通过 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
我已经做了一些事情来试图纠正这个问题:
- 在服务器上将 mysql config 中的 bind-address 设置为
0.0.0.0
并重新启动服务器的 mysql - 在服务器上将 mysql config 中的 bind-address 设置为
my.ip.address
并重新启动 - 允许的 tcp 连接
- 允许通过 ufw 防火墙连接到 3306 和 33060 端口
- 创建了一个 mysql 用户,该用户具有为 'localhost'、'%' 和 '0.0.0.0' 主机授予的所有权限
- 尝试以 root 用户身份登录
- 尝试使用 root 用户作为 mysql 用户
我可能遗漏了该列表中的一些内容,因为我觉得我已经尝试了 100 万件事!
我什至在几天前设置的 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)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。