Navicat导入大量sql数据报错的解决方法

Navicat是一款非常好用的图形化数据管理工具,我一直都在使用它。但是一直有一个问题在困扰着我,当我使用Navicat往数据库中导入大量数据时(一般是几百兆的)它就会报错,而把数据拆分成多个小型文件分批导入时就没有这个问题。以前一遇到这个问题我就只能换另一个工具进行导入(PHPMyAdmin)。但是这次的网站环境出了点问题无法使用PHPmyadmin,于是这使我下定决心彻底解决Navicat导入大量sql数据报错的问题。

经过百度、谷歌等一番查找终于找到了出现这个问题的真正原因,其实Navicat导入大量sql数据并没有限制,真正的问题根源是在MySQL上,MySQL在当前导入数据最大包默认设置的是1M,而我使用的PHPstudy这个集成软件默认值是4M。而我导入的文件大小是几百兆,自然会报错。问题找到解决方法如下:

首先找到MySQL的配置文件,然后搜索“max_allowed_packet”,修改其默认值如下:

max_allowed_packet=200M

具体的数值根据你自己的数据文件大小定。

Navicat在导入数据时还经常遇到另一个问题,报错如下:

Invalid default value for 'comment_date'

后面的字段可能是其他的,这种问题一般是类型的默认值被限制了,解决方法如下:

sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

这就是我在使用Navicat中遇到的一些问题和解决方法,希望也能对你有帮助。

本文地址:https://www.dreamcs6.com/2020-02-20-1127.html

 

Author: 智宇愚

发表评论

电子邮件地址不会被公开。 必填项已用*标注