There are questions remain, We'll search for the answers together. But one thing we known for sure,the future is not set!

【原创文章】ECSHOP MYSQL服务器错误报告session表已满的原因和解决方法

ecshop 百蔬君 6616℃ 已收录 0评论

这几天百蔬网网站访问量有点增加,前台总是提示:MySQL server error report,The table ‘***_sessions’ is full,具体错误提示如下

Snap2

 

MySQL server error report:Array ( [0] => Array ( [message] => MySQL Query Error ) [1] => Array ( [sql] => INSERT INTO `***`.`**_sessions` (sesskey, expiry, ip, data) VALUES (‘4d6a30cea1f4d53cccc1d9ad41f49fa1’, ‘1447465118’, ‘*.62.166.152’, ‘a:0:{}’) ) [2] => Array ( [error] => The table ‘***_sessions’ is full ) [3] => Array ( [errno] => 1114 ) )

后来找到一个方法说是要修改\includes\cls_session.php里面的

var $max_life_time  = 1800; // SESSION 过期时间

要缩短这个过期时间,我修改为800。

Snap3

今天还是出现同样的问题。今天就进服务器看了下数据库的情况,发现是seesion这个表大小为16M,也就是说最大只有16m,看到这个数字,猛然想起,这个是表的大小设置问题,屁颠屁颠跑去mysqld的my.ini,果然发现tmp_table_size已经被定义了,想想也是傻逼,看到这种表满了,第一个反应就应该是去查看mysql的设置啊。修改session的max_life_time会让session时间变短,这样的话,登录之后老是会自动退出,得不偿失啊,马上将max_life_time恢复为原来的默认数值。

Snap4

默默地将tmp_table_size大小修改为256M,加上一个max_heap_table_size参数也为256M,重启MYSQL,OVER

转载请注明:百蔬君 » 【原创文章】ECSHOP MYSQL服务器错误报告session表已满的原因和解决方法

喜欢 (4)or分享 (0)
发表我的评论
取消评论

请证明您不是机器人(^v^):

表情