1.今天早上收到邮件报警,信息如下:
Could not execute Write_rows event on table test.pre_common_session; The table 'pre_common_session' is full, Error_code: 1114;
handler error HA_ERR_RECORD_FILE_FULL; the event's master log mysql-bin.002019, end_log_pos 87968421
(1) 查看了一下表结构:原来表为内存表
CREATE TABLE `pre_common_session` (
`sid` char(6) NOT NULL DEFAULT '',
`ip1` tinyint(3) unsigned NOT NULL DEFAULT '0',
`ip2` tinyint(3) unsigned NOT NULL DEFAULT '0',
`ip3` tinyint(3) unsigned NOT NULL DEFAULT '0',
`ip4` tinyint(3) unsigned NOT NULL DEFAULT '0',
`uid` mediumint(8) unsigned NOT NULL DEFAULT '0',
`username` char(50) NOT NULL DEFAULT '',
`groupid` smallint(6) unsigned NOT NULL DEFAULT '0',
`invisible` tinyint(1) NOT NULL DEFAULT '0',
`action` tinyint(1) unsigned NOT NULL DEFAULT '0',
`lastactivity` int(10) unsigned NOT NULL DEFAULT '0',
`lastolupdate` int(10) unsigned NOT NULL DEFAULT '0',
`fid` mediumint(8) unsigned NOT NULL DEFAULT '0',
`tid` mediumint(8) unsigned NOT NULL DEFAULT '0',
UNIQUE KEY `sid` (`sid`),
KEY `uid` (`uid`)
) ENGINE=MEMORY DEFAULT CHARSET=utf8 MAX_ROWS=20000;
(2)查看了一下表的记录数,原来已经超过20000万了。
(3)解决方法:修改表的最大记录数即可解决。
alter table pre_common_session max_rows=65535;