1

我在 Azure 上有一个 MySQL 数据库,使用 Azure 托管数据库服务,以及在同一个 VNET 中的两个 Ubuntu 20.04 VM(运行 PHP 应用程序)。我可以从 PHP 和远程 GUI 客户端 (SequelPro) 连接到数据库,因此我确信防火墙配置正确并且我使用了正确的详细信息。

但是,当我尝试在任一虚拟机上使用 mysql CLI 客户端进行连接时,它只是挂起而没有输出。我在两个虚拟机上都试过了,我得到了相同的行为。

我正在使用的命令是:

mysql -u "username@hostname" -p -h "ip_address" -P 3306 database_name -e "SHOW TABLES"

它提示输入密码,所以我输入它......然后什么都没有。mysqltop进程正在消耗100%的CPU。

我可以在 IP 地址上 telnet 端口 3306,我得到了通常的胡言乱语,要求输入 mysql_native_password。

如果我将主机名部分更改为username@hostname无效的主机名,则会显示“找不到服务器名”。而如果我输入了无效的用户名(或无效的密码),那么它就会挂起。所以我猜这与试图解析该名称的 Azure 托管数据库服务的网关部分有关。直到几天前,一切都正常工作。

任何日志中都没有任何内容,屏幕上也没有输出,所以我不知道从哪里开始尝试解决这个问题。

4

1 回答 1

5

这似乎是由于https://bugs.mysql.com/bug.php?id=105288假设您的客户端是 8.0.27,我今天遇到了同样的问题。

于 2021-11-04T17:30:09.607 回答