1.mysql数据库频繁访问导致连接超时
解决办法一:
- 优化查询:检查并优化SQL查询语句,减少不必要的数据库调用。
- 增加连接池大小:如果应用程序使用连接池,可以考虑增加连接池的最大连接数。(注:不能大于数据的最大连接数)
- 使用索引:确保查询中涉及的字段都有适当的索引,以减少查询时间。
- 服务器配置:调整MySQL服务器的配置参数,如wait_timeout和interactive_timeout,以使得连接可以保持更长时间。
- 限流:实施限流措施,如使用防火墙规则、应用层限流或者数据库层的流量控制,以防止过载。
- 分库分表:如果并发量确实很大,考虑分库分表,把流量分散到多个数据库实例上。
- 监控和日志:定期监控数据库性能指标,分析日志文件,找出高负载的原因并解决。
- 在实施任何解决方案之前,请确保充分理解当前数据库负载和查询模式,以及任何更改的后果,以避免不必要的系统问题。
解决办法二:如果使用宝塔
2.MySQL innodb_buffer_pool_size用法
https://developer.baidu.com/article/details/3279137
3.Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure
The last packet successfully received from the server was 120,101 milliseconds ago. The last packet sent successfully to the server was 120,101 milliseconds ago.
处理办法:
(1)查询:show global variables like “%timeout%”;
(2)解决办法
【异常】The last packet successfully received from the server was 179 milliseconds ago.
mysql net_write timeout 详解