mysql内存表table xxx is full解决

分类: MySQL |
主从同步报错,报错信息如下:
Last_Errno: 1114
Last_Error: Error 'The table 't_heap_log_action_game_dairy' is
full' on query. Default database: 'fxtv_log'. Query: 'INSERT INTO
`t_heap_log_action_game_dairy` VALUES
(173522,368316,761217,23,20161024,1),(173523,368317,761217,23,20161024,1),(173524,843465,0,7,20161024,1),(173525,321557,19196,4,20161024,1),(173526,729559,1848213,29,20161024,1),(173527,1004730,0,29,20161024,1),(173528,772424,0,23,20161024,1),(173529,731819,0,7,20161024,1),(173530,282683,50399,16,20161024,1),(173531,344256,0,1196,20161024,1),(173532,319421,0,29,20161024,1),(173533,411831,1725387,747,20161024,1),(173534,964798,1995373,29,20161024,1),(173535,411831,0,4,20161024,1),(173536,282683,50399,3258,20161024,1),(173537,177089,353693,4393,20161024,1),(173538,833704,0,29,20161024,1),(173539,967091,85573,3469,20161024,4),(173540,967091,85573,3813,20161024,2),(173541,361768,1695452,4,20161024,1),(173542,700237,2005457,29,20161024,2),(173543,90224,105382,16,20161024,1),(173544,971993,1998145,4,20161024,1),(173545,180549,437200,507,20161024,1),(173546,25982
........
show create
table发现t_heap_log_action_game_dairy 是memory引擎的表,并且这个是用户显式创建的内存表. 关于临时表的相关配置参数如下:
1)、tmp_table_size:指定系统创建的内存临时表最大大小;
2)、max_heap_table_size:指定用户创建的内存表最大大小;
注意:最终系统创建的内存临时表大小是取上述两个配置值中的最小值。
故用户创建的内存表大小取决于max_heap_table_size 这个值.
现在来动手解决这个同步失败问题吧,步骤如下:
MySQL [(none)]> set global
max_heap_table_size=1024*1024*1024;
退出当前线程,重新连接MySQL,然后重新指定一下表引擎:
alter table t_heap_log_action_game_dairy ENGINE MEMORY;
最后:
stop slave;
start slave;
搞定,收工~