程序连不上mysql怎么办

文 / @WordPress主题

当程序连不上MySQL时,可能会出现四种报错:

1. Can't connect to MySQL server
2. Lost connection to MySQL server
3. Sorry, due to line fault, temporarily unable to browse, we are dealing with.
4. MySQL server has gone away

针对第一种报错,可能的原因是MySQL服务端没有启动或网络不通。解决方案是通过运维确认MySQL服务是否正常,若正常再找运维确认网络问题。

针对第二种报错,有以下四种可能情况:网络问题、查询结果集过大、connect_timeout设置过短、查询有blob类型。解决方案包括运维监控网络、调大net_read_timeout和connect_timeout、调大max_allowed_packet等。

针对第三种报错,这个错误不是MySQL原生的错误,在网上也没有找到有类似的资料。目前发现有三种情况会有这种报错:网络有问题、数据库连接数过多、连数据库的帐号密码有误。

针对第四种报错,有以下12种可能情况:默认的wait_timeout值过短、手动kill、帐号权限不足、TCP/IP连接超时、禁用了自动重连接、查询语句不正确、查询语句太长、一条insert或replace语句更新的行数过多、域名解析失败、防火墙屏蔽3306端口、多个子进程共用一个连接、MySQL服务端挂了。针对这些情况,我们可以从运维、DBA和开发三个方面来应对。

除了相关参数的调整外,我们还要避免使用长连接、使用mysqli替代mysql、尽量避免查询结果集过大、避免子进程共用一个数据库连接等。最后,我们需要综合这些解决方案来提高程序连接MySQL的可靠性。

添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。