You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

连接Azure托管MySQL数据库时mysql命令行客户端挂死无响应问题

Azure托管MySQL命令行连接挂死解决方案

根因说明

该问题由Ubuntu 20.04默认源提供的8.0.22~8.0.28版本mysql客户端已知bug导致:当使用IP地址连接MySQL服务、且用户名带有@<服务器名>后缀时,客户端会陷入域名解析死循环,CPU占满100%无响应。
PHP的mysqlnd驱动、SequelPro的连接逻辑未复用该问题版本客户端的解析逻辑,因此连接不受影响。你观察到的修改@后主机名正常报错、账号密码错误也挂死的现象完全匹配该bug特征,和网关域名解析逻辑无关。

可行解决方案

  • 方案1:升级mysql客户端到8.0.29及以上版本
    执行以下命令完成升级后,即可正常运行原连接命令:
    sudo apt update && sudo apt install --only-upgrade mysql-client
  • 方案2:保持现有客户端版本,调整连接参数绕过bug
    两种可选调整方式:
    1. 替换连接IP为Azure托管MySQL实例的官方域名:
      mysql -u "username@hostname" -p -h "你的Azure MySQL实例域名" -P 3306 database_name -e "SHOW TABLES"
    2. 保留IP连接,在命令末尾添加--skip-name-resolve参数关闭客户端域名解析逻辑:
      mysql -u "username@hostname" -p -h "ip_address" -P 3306 database_name -e "SHOW TABLES" --skip-name-resolve
  • 方案3:调整用户名格式绕过校验
    Azure托管MySQL网关支持使用用户名@%作为用户名进行IP直连,修改后的命令如下:
    mysql -u "username@%" -p -h "ip_address" -P 3306 database_name -e "SHOW TABLES"

内容的提问来源于stack exchange,提问作者Dan Blows

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 18:15:03