背景:
为了解决网站的SQL注入的问题,直接在服务器上修改代码有点太麻烦了,所以选择在本地修改好后传到服务器上。因此,需要将服务器上的数据库打包成sql文件,重新传到电脑本地数据库上。但是在传到本地数据库这一步,遇到了报错。
报错1:
[SQL] Query fpkm_202507 start
[ERR] 2006 - MySQL server has gone away
[ERR] -- MariaDB dump 10.19 Distrib 10.4.27-MariaDB, for Linux (x86_64)
解决:经查找怀疑是max_allowed_packet参数有问题。因此,在数据库的配置文件my.ini中,找到该参数,发现默认值为1M。而自己导入的sql文件为300M。将参数修改为512M后,报错解决。
报错2:
上述问题解决后,传到第二个sql后缀文件时,又遇到了下述错误:

解决:报错为Row size too large (> 8126):行大小超过InnoDB 的限制。但是之前在linux中,这样的字段设置是没有问题的,不确定是不是MySQL版本不同所导致的。因此,根据字段的实际长度,修改字段设置,减少整行的大小。修改后,可成功导入。