navicat还原mysql备份数据时,部分表无数据
最近在使用navicat正在本地恢复数据时,发现部分表数据,百度一下,发现是由于max_allowed_packed设置过小,而insert时数据过多导致出错,修改max_allowed_packed的值即可恢复,我修改后的值为1024*1024*50。
表无数据:
部分数据未同步成功:
在mysql中执行sql命令修改。
程序中将数据分批插入。
在这里主要说一下第1和2种方法:
在my.ini(my.cnf)文件中添加或者修改以下变量:
max_allowed_packet = 50M
max_allowed_packet 作用是用来控制其通信缓冲区的最大长度。
命令:
//查看当前max_allowed_packet的大小
show global variables like 'max_allowed_packet';
//修改max_allowed_packet的大小
set global max_allowed_packet=1024*1024*50;