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