ERROR:2027 (HY000): Malformed packet

本文详细介绍了在执行MySQL存储过程时遇到的'ERROR:2027 (HY000): Malformed packet'错误。通过分析涉及的函数,如init_rr_cache和Protocol_classic::get_command,发现错误可能源自read_rnd_buff_size设置过小。解决方法是调整该参数的大小,以避免包格式错误。
摘要由CSDN通过智能技术生成

分享bug:

表象:
ERROR:2027 (HY000): Malformed packet

操作内容:
存储过程:
CREATE DEFINER=`root`@`%` PROCEDURE `DELETED_TASK_NUMBER`()
BEGIN
  declare   nowDate              char(35);
  declare   phonenumber      char(25);
  declare   phonesum           int(15);
  declare   DONE                 char(5);
  declare continue handler for not found set DONE = FALSE;
  SET SQL_SAFE_UPDATES = 0;
  set nowDate = concat('crm_task_number_',date_format(now(),'%Y%m'));
  select count(*) into phonesum from a where task_id in (select task_id from b where is_deleted = 1) ;
  select phonesum;
  set @create_number_table = CONCAT('create table if not exists  ',nowDate,'  like a');
  prepare create_table from @create_number_table;
  execute create_table;
  deallocate prepare create_table;
  while (phonesum >=0 ) DO
     set @insert_number_table = CONCAT('insert into ',nowDate,'  (select * from a where task_id in (select task_id from a where is_deleted = 1) order by number_id limit 100000)');
     prepare insert_table from @insert_number_table;
     execute insert_table;
     deallocate prepare insert_table;
     select sleep(5);
   delete from crm_task_number where  task_id in (select task_id from a where is_deleted = 1) order by number_id limit 100000; 
   set phonesum=phonesum -100000;
  end while;    
END

涉及到的函数:
#init_rr_cache:临时文件初始化缓存
static int init_rr_cache(THD *thd, READ_RECORD *info)
{
  uint rec_cache_size;
  DBUG_ENTER("init_rr_cache");

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值