一次诡异的Mysql服务不断重启故障排查( 二 )

【一次诡异的Mysql服务不断重启故障排查】正在连接的会话自动中断
ERROR 2013 (HY000): Lost connection to MySQL server during querymysql>  
在配置mysql参数,一定要考虑以下3个因素
1.业务连接预期总数
2.会话初始化内存
3.buffer pool缓冲器大小
下面先用sql查询一下会话的内存总大小和数据库buffer pool大小
mysql> select (@@innodb_buffer_pool_size+@@innodb_log_buffer_size+@@key_buffer_size) / 1024 /1024 AS MEMORY_MB;+--------------+| MEMORY_MB|+--------------+| 584.00000000 |+--------------+1 row in set (0.00 sec)mysql> select (@@read_buffer_size+@@read_rnd_buffer_size+@@sort_buffer_size+@@tmp_table_size+@@join_buffer_size+@@binlog_cache_size)/1024/1024 as MB;+--------------+| MB|+--------------+| 160.03125000 |+--------------+1 row in set (0.00 sec)mysql的buffer pool加上会话内存总大小不超过服务器内存总大小的80% 。
假设,服务器内存为32G,mysql数据库内存设置就不要超过26G,如果buffer pool设置为20G,每个会话内存为160M,则6G能提供6 *1024 /160 =38 个安全连接,超过了,可能造成内存不够,用swap分区 。




推荐阅读