数据库无法导入的原因及解决办法 |
作者:绿叶对根的情谊 时间:2020-12-19 |
描述:客户端与mysql的链接断开了,原因一般为sql运行时间过长或者sql文件太大。删除头部信息后,一般都可以导入成功。如果还不成功,用phpmyadmin的sql语句进行导入,一般都ok的。 |
《生活宝典shenghuobaodian.com》讯 使用文本编辑器editplus打开sql文件,将头部信息全部删除,只保留数据库表信息。删除头部信息后,一般都可以导入成功。如果还不成功,用phpmyadmin的sql语句进行导入,一般都ok的。
1、登录到phpmyadmin,2、新建一个要导入的数据库,点击“+new”,分别填写数据库名称,以及选择数据库的排序规则。
1、打开需要导入数据库的界面。2、点击导入,打开导入页面。3、点击选择文件,找到选择文件页面。4、选择需要导入的文件。5、点击执行。6、直接导入会报错,错误如下。7、遇到这种情况需要用记事本打开数据库,去除头部部分并保存。8、然后继续选择文件导入。9、点击执行,导入成功。
提供错误为数据库已存在,请把数据库文件中的create databaswe 那行注释掉,重新导入即可。
localhost改成数据库所在ip地址试试看或者是当前的用户没有建立数据库的权限,请让数据库管理员给你建立数据库,或者让它授权。
排查问题原因:
客户端与mysql的链接断开了,原因一般为sql运行时间过长或者sql文件太大。很明显,是文件太大,无法导入。即上传文件大小有限制。所以要去解除此限制。
(1)mysql服务宕了
运行命令:show global status like 'uptime'; 如果uptime的值很大 表明最近mysql服务没有重启。 若日志也没有相关信息,表明服务没有重启过,可以排除这个可能了。
(2)mysql链接超时
运行命令:show global variables like '%timeout'; 查看运行结果中wait_timeout的值,一般为28800。代表mysql在误操作28800秒之后链接会关闭。
(3)mysql文件过大
运行命令:show global variables like 'max_allowed_packet'; 查看运行结果max_allowed_packet的值 ,如果过小,需要调整大。
解决方法:
在mysql的my。ini文件末尾加如下几句话: wait_timeout=2880000; interactive_time=2880000; max_allowed_packet=16M;
其中max_allowed_packet代表控制其缓存区的最大长度。 wait_timeout代表无操作链接等待时间。
修改完以上参数之后重启mysql服务。
查看是否修改成功:运行命令:show global variables like '%timeout'; show global variables like 'max_allowed_packet';
小贴士:如果找不到my。ini文件可以运行命令:mysql --help|grep my。ini 来查找文件路径。如果以上办法没有解决你的问题,你还需要查看你的mysql文件安装盘的空间是否足够。
这边的PHPmyadmin上传数据库文件的最大限制大概在5M左右,这边上传的时候给您按照5M的大小分割的,分割完成之后每个大小大概4M左右,一般情况下可以使用SQLDumpSplitter 进行分割,这边使用的分割工具您可以参考:http://www.wangchao.info/927.html
相关阅读:SQLDumpSplitter很好用的SQL文件分割工具
作者:王超
前几天一个客户介绍了一个很好用的SQL数据库分割工具,SQLDumpSplitter.exe
很多时候我们会有一份较大的SQL文件,在phpMyAdmin里导入恢复数据时产生超时现象,因为phpMyAdmin经常会受限于服务器所规定的脚本运行时间。而SQLDumpSplitter正好可以解决SQL文件过大的问题,它能把一份较大的SQL文件分割成数个指定大小的SQL文件,然后再分批导入到phpMyAdmin中,就能避免因文件过大导致运行时间过长而产生超时的问题。最厉害的是SQLDumpSplitter可以自动将结构语句和数据语句分开,所以无需担心分割出错,一切都是自动的。
而更多的时候,你可能难以打开一个几百兆大小的SQL文件来进行检查,这时候就可以用SQLDumpSplitter进行分割,分割成一个个小的SQL文件,你就可以轻松打开它们并检查里面的内容。
SQLDumpSplitter分割器非常小巧,属于绿色软件,SQLDumpSplitter.exe 434KB 不需要安装直接打开就能用,而且分割速度也不错,大小可自定义。
温馨提示:在操作完全删除数据库里的数据表的时候,注意要从数据库的数据表的第1页起,若是从第2页删起,那么可能出现的情况是,第1页的数据表不显示出来,你会误以为已经全部表都删掉了,其实第1页的表都在,这时候,建议从左上方的数据库名那里来回点点捣鼓几次,没准右边就把第1页的数据表显示出来了,接着就可以删了,这个方法只能是这般描述,吾尚不清楚是为什么?
文章来源:shenghuobaodian.com 从手机浏览器访问《生活宝典》 |
|