0

这是从头开始的新安装 - 目标配置是 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

然后他们工作正常,正如你所期望的。

任何关于我哪里出错的指导都非常感谢。

干杯。

4

1 回答 1

0

为了避免任何人为此花费不必要的时间,我想我已经发现了这个问题。也可以帮助遇到同样问题的其他人。

我相信我使用的是不兼容版本的 mysql Workbench(在我的 Mac 上) - 它用于在我的旧测试 Raspberry Pi 上与旧版本的 mysql 服务器通信,这(巧合)与 Pi 无法连接的原因相同到新的 Ubuntu 服务器。

在我的 Mac 上将 Workbench 升级到 8.0,一切正常。

Mysql 版本 8 需要 Workbench 版本 8。

这并不意味着我没有犯其他错误 - 如果您仔细阅读并找到任何东西,如果您能告诉我,我将不胜感激。否则,我会继续前进。

于 2020-08-18T12:04:20.760 回答