导入大型SQL文件

时间:2011-10-27 19:59:35

标签: mysql sql phpmyadmin

我已经看到很多关于这个话题的问题,但是通过这些问题并没有帮助,所以我在问......

我有一个大的sql文件(大约50mb)我无法使用phpmyadmin导入,因为它限制为2.5mb。

我试过使用bigdump,我收到的错误是说我正在使用“扩展插入或非常长的过程定义”。

我也尝试过使用控制台中的source命令,在将其更改为128M(之前是16M)之后,它还向我提供了一条错误消息,说明定义的max_allowed_packet太低了我遇到另一个问题,在source命令期间我失去了与数据库服务器的连接(在本地托管):

ERROR 2013 (HY000): Lost connection to MySQL server during query
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)
ERROR:
Can't connect to the server

4 个答案:

答案 0 :(得分:6)

我发现的解决方案是将max_allowed_packet进一步增加到512M。

然后以下内容将起作用:

mysql -u username -ppassword databasename < file.sql

答案 1 :(得分:1)

这是否可以在控制台中使用?

mysql -u username -ppassword databasename < file.sql

(是的,-ppassword

之间没有空格

答案 2 :(得分:1)

在我的情况下,问题(&#34;在查询和#34期间与MySQL服务器的连接丢失;)是在损坏的转储文件或行为不当的硬盘驱动器中:

首先,我在主服务器上进行了转储,然后将该转储复制到复制服务器。但似乎复制服务器的硬盘存在问题,转储损坏,即主服务器上原始转储文件的MD5与复制服务器上转储副本的MD5不同。

答案 3 :(得分:0)

您是出口还是进口?如果您要导入试用CSV格式。

您可以导出为CSV然后导入。如果由于它是大型CSV仍然无法导入,那么您可以自行中断CSV以使其成为较小的CSV文件。