首页/系统/信创系统运维速查/数据库连接失败的排查
常见问题65 条

数据库连接失败的排查

应用连不上库按四层查:服务与监听、监听地址(bind)、账号与授权、防火墙;报错原文直接指明完看哪一层。

信创系统运维速查系统更新于 2026-10-12

服务与网络层

服务与网络层
systemctl status mysqld --no-pager | head     # 服务名按实际替换
ss -lntp | grep -E '3306|5432'                # 监听端口
# 从应用主机测试:
timeout 3 bash -c '</dev/tcp/<数据库IP>/3306' && echo ok || echo fail
firewall-cmd --list-all 2>/dev/null | grep -iE '3306|mysql'

账号与授权层

账号与授权层
mysql -uroot -p -e 'SELECT user,host FROM mysql.user'
mysql -uroot -p -e "SHOW GRANTS FOR '<用户>'@'<来源>'"
# host 不含应用网段(如应为 % 或应用 IP):即授权范围问题
报错分层:refused 看服务与端口;Access denied 看账号授权;Timeout 看网络与规则;Too many connections 看并发上限。

易错点

  • 默认只监听本机(bind 127.0.0.1)时外部连不上:完改监听配置
  • 只测端口不看服务日志:库侧错误日志常直接写明原因

数据来源与参考

  • MySQL 官方文档(连接与权限)
  • man 1 ss
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌