mysql keepalive的判断机制只根据端口号3306合理吗?
相对合理吧。不然依靠什么呢?
也可以自定义脚本,使用探活语句来判断,好处是能够确认数据库连接情况(因为可能存在端口开着,数据库无法连接的情况),但是也有缺点,在数据库压力较大的时候可能会探活失败,导致误报。