MySql.Data.MySqlClient.MySqlException: Packets larger than max_allowed_packet are not allowed
基于 .net core 中的 DbContext 操作MySQL数据库时,需要向一张表中插入9万多条数据,相关代码如下。
其中,调试断点至95行时,显示 addedRainfalls (List<T>) Count 属性为9万多,执行至96行后,需要等待超过15分钟。之后数据插入失败,相关日志信息如下。
可以看到:
MySql.Data.MySqlClient.MySqlException (0x80004005): Packets larger than max_allowed_packet are not allowed.
即数据量太大,超过了 MySQL 的允许值,此时只需要修改 MySQL 的 my.ini 文件中的 max_allowed_packet 参数值即可。
笔者使用的 MySQL 为 8.0,默认为4M,修改为16M后,即可正常插入数据。