我在Azure上有一个MySQL数据库,使用Azure托管的数据库服务,在同一个VNET中有两个Ubuntu 20.04虚拟机(运行PHP应用程序(我可以从PHP和远程GUI客户端(SequelPro(连接到数据库,所以我相信防火墙配置正确,并且使用了正确的细节。
然而,当我尝试在任意一个虚拟机上使用mysql CLI客户端进行连接时,它只是挂起,没有输出。我在两个虚拟机上都试过了,我得到了相同的行为。
我使用的命令是:
mysql -u "username@hostname" -p -h "ip_address" -P 3306 database_name -e "SHOW TABLES"
它提示输入密码,所以我输入了……然后什么也没输入。在top
上,mysql进程消耗了100%的CPU。
我可以在IP地址上telnet 3306端口,我得到了通常的胡言乱语,询问mysql_native_password。
如果我将username@hostname
的主机名部分更改为无效的主机名;找不到服务器名";。然而,如果我输入了一个无效的用户名(或无效的密码(,它就会挂起。所以我猜这与试图解析该名称的Azure托管数据库服务的网关部分有关。直到几天前一切都很正常。
任何日志中都没有任何内容,屏幕上也没有输出,所以我不知道从哪里开始修复这个问题。
这似乎是由于https://bugs.mysql.com/bug.php?id=105288假设你的客户是8.0.27,我今天也遇到了同样的问题。