如何解决无法使用WorkBench连接到mysql您的连接尝试失败的问题

问题描述

这是从头开始的新安装-目标配置是LAMP服务器。已安装Ubuntu 20.04.1 LTS。已安装Apache2。安装了MysqL。尚未完成PHP-希望在我进一步使事情复杂化之前让MysqL工作。

新服务器在专用网络上的IP 10.1.1.14。我尝试使用在MacOS Mojave(10.14)上运行的MysqL Workbench 6.3社区访问MysqL服务器。无法连接。消息是:

Your connection attempt Failed for user 'rlxxxx@10.1.1.14' from your host to server at 10.1.1.14:3306:  SSL connection error: unkNown error number

我还尝试通过命令在运行的RaspBerryPi(IP 10.1.1.19)上使用MysqL客户端

MysqL -u rlxxxx -h 10.1.1.14 -p

并收到消息:

ERROR 2003 (HY000): Can't connect to MysqL server on '10.1.1.14' (110)

很明显,我有一些基本的错误

回到MysqL服务器(10.1.1.14),我已经尝试了文件/etc/MysqL/MysqL.conf.d/MysqLd.cnf中的一些不同的绑定设置-以通常的bind = 127.0.0.1开始,也尝试了bind = 0.0.0.0和bind = 10.1.1.14(如一个线程所建议)。没有区别。结果相同。

MysqL reports `Server version: 8.0.21-0ubuntu0.20.04.4 (Ubuntu)`.

所以一些基本的诊断...

?sudo ps wwaux | grep -i sql
MysqL       2825  4.2 10.2 2069832 358232 ?      Ssl  06:37   0:00 /usr/sbin/MysqLd

?sudo netstat -plutn | grep -i sql
tcp        0      0 10.1.1.14:3306          0.0.0.0:*               LISTEN      2825/MysqLd         
tcp6       0      0 :::33060                :::*                    LISTEN      2825/MysqLd  

?systemctl status MysqL
MysqL.service - MysqL Community Server
   Loaded: loaded (/lib/systemd/system/MysqL.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2020-08-18 06:37:18 UTC; 43s ago
  Process: 2800 ExecStartPre=/usr/share/MysqL/MysqL-systemd-start pre (code=exited,status=0/SUCCESS)
  Main PID: 2825 (MysqLd)
    Status: "Server is operational"
    Tasks: 39 (limit: 3935)
    Memory: 332.6M
    CGroup: /system.slice/MysqL.service
            └─2825 /usr/sbin/MysqLd

Aug 18 06:37:16 svr4 systemd[1]: Starting MysqL Community Server...
Aug 18 06:37:18 svr4 systemd[1]: Started MysqL Community Server.

?sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming),allow (outgoing),disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
80/tcp (Apache)            ALLOW IN    Anywhere                  
3306/tcp                   ALLOW IN    Anywhere                  
22/tcp                     ALLOW IN    Anywhere                  
80/tcp (Apache (v6))       ALLOW IN    Anywhere (v6)             
3306/tcp (v6)              ALLOW IN    Anywhere (v6)             
22/tcp (v6)                ALLOW IN    Anywhere (v6) 

(是的,这是现在很开放的...我越来越绝望了)

最后...从MysqL

>select user,host from MysqL.user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| rlxxxx           | %         |
| rlxxxx           | 10.1.1.14 |
| root             | 10.1.1.14 |
| debian-sys-maint | localhost |
| MysqL.infoschema | localhost |
| MysqL.session    | localhost |
| MysqL.sys        | localhost |
| rlxxxx           | localhost |
| root             | localhost |
+------------------+-----------+

如果我使用ssh进入10.1.1.14,则可以选择

MysqL -u rlxxxx -p

MysqL -u rlxxxx -h 10.1.1.14 -p

然后,它们按照您的期望工作正常。

任何关于我哪里出了问题的指导都深表感谢。

干杯。

解决方法

为避免有人在此上花费不必要的时间,我想我已经发现了这个问题。可能还会帮助遇到相同问题的其他人。

我相信我使用的是不兼容版本的mysql Workbench(在我的Mac上)-它曾与我的旧测试Raspberry Pi上的旧版本的mysql服务器通信,这(恰巧)与Pi也不会连接到新的Ubuntu服务器。

在Mac上将Workbench升级到8.0,一切都正常工作。

MySQL版本8需要工作台版本8。

这并不意味着我没有犯其他错误-如果您仔细阅读并发现任何内容,请告诉我,我们将不胜感激。否则,我会继续前进。