MySQL 连接失败的定位与修复
客户端报 Can't connect to MySQL server、Access denied for user、Too many connections、Lost connection during query 或 SSL 相关错误。
mysqladmin -h <host> -P 3306 ping
ss -lntp | grep 3306
mysql -h <host> -P 3306 -u <user> -p -e 'SELECT 1'
mysql -e 'SHOW PROCESSLIST'
mysql -e "SHOW VARIABLES LIKE 'max_connections'"
mysql -e "SHOW STATUS LIKE 'Threads_connected'"
服务端日志:
journalctl -u mysqld --since '30 min ago'
tail -100 /var/log/mysql/error.log
bind-address 只监听本地。user@host),或密码错误。max_connections 达到上限,连接池泄漏。skip-name-resolve 配置影响授权。mysqladmin ping 和 ss 确认服务与端口。bind-address、防火墙、安全组和云数据库白名单。user@host。max_connections,同时排查连接池和慢查询。require_secure_transport。mysql / mysqladmin — 连接与状态ss — 端口监听journalctl — 服务端日志