Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将大型数据集导入mysql-正确的方法?_Mysql_Import_Bulkinsert_Mysqlimport - Fatal编程技术网

如何将大型数据集导入mysql-正确的方法?

如何将大型数据集导入mysql-正确的方法?,mysql,import,bulkinsert,mysqlimport,Mysql,Import,Bulkinsert,Mysqlimport,我有一个400MB*.sql文件,它是MySQL数据库的转储文件。我现在想把它导入一个新的数据库。我使用了phpmyadmin,但几分钟后它就会崩溃,因为它无法处理如此大的数据集(已达到最大文件大小限制)。因此,我使用了以下方法: 通过SSH登录。 通过mysql工具选择数据库。 命令:source mybackup.sql 现在查询正在运行,但现在已经运行了3个多小时。怎么了,还是真的花了这么长时间 谢谢, WorldSigniamysql数据库名

我有一个400MB*.sql文件,它是MySQL数据库的转储文件。我现在想把它导入一个新的数据库。我使用了phpmyadmin,但几分钟后它就会崩溃,因为它无法处理如此大的数据集(已达到最大文件大小限制)。因此,我使用了以下方法:

通过SSH登录。 通过mysql工具选择数据库。 命令:source mybackup.sql

现在查询正在运行,但现在已经运行了3个多小时。怎么了,还是真的花了这么长时间

谢谢, WorldSignia

mysql数据库名mysql databaseName < mybackup.sql

我想这是最快的速度了。

如果还没有完成,您可以在导入之前使用
设置autocommit=0
关闭autocommit。否则,InnoDB将在每个
INSERT
语句之后
COMMIT
。这可能会有帮助

您还可以关闭辅助唯一键和外键以提供帮助。有关更多想法,请参见此链接:


你们的桌子是什么类型的?InnoDB?唯一的评论是,SQL代码上的400MB是一个巨大的数据负载。这需要时间,所以不用担心。救生员,谢谢!FWIW,我必须更新MySQL的my.ini文件中的这一行
max_allowed_packet=64M
(我认为在某些系统上是my.cnf)。它被默认为1M,我的文件是350万,所以它可能是800万(而不是64M),我想它仍然可以工作。