MySQL大表导入
我有一个1GB的sql文本文件正在导入MySQL。 我使用了“大文本文件查看器”,可以通过std mysql表导出看到它——从drop table开始,然后创建新表,然后插入。注意:我还有一个表格的csv 我使用以下方法导入它:MySQL大表导入,mysql,Mysql,我有一个1GB的sql文本文件正在导入MySQL。 我使用了“大文本文件查看器”,可以通过std mysql表导出看到它——从drop table开始,然后创建新表,然后插入。注意:我还有一个表格的csv 我使用以下方法导入它: php.ini-上传最大文件大小、内存限制和发布最大大小(增加这些文件的大小,但它仍然说它太大了-使这些数字非常大-默认数字后10个零) C:\wamp\bin\mysql\mysql5.1.53\bin>mysqlimport-h localhost-u root-p
thx如此巨大的出口问题的一部分(大概)是由于它的冗余。可能有数千个“INSERT”命令,当一次加载所有命令时,会占用大量内存 如果您拥有与CSV完全相同的数据,我要做的是创建一个小PHP脚本,逐行遍历CSV文件,动态创建一个INSERT sql查询,然后执行它。这将使内存占用非常低,因为在每次插入后,您可以不断替换临时变量(对应于字段)的值 我已链接到我将尝试使用的函数。它叫fgetcsv。该链接还有一些我认为可能对您有用的示例脚本,这些脚本是由其他用户创建的 祝你好运 如果可以,尽量不要使用
--local
选项
从
使用本地加载数据时,将在服务器的临时目录中创建文件的副本。这不是由tmpdir或slave_load_tmpdir的值确定的目录,而是操作系统的临时目录,在MySQL服务器中不可配置。(在Linux系统上,系统临时目录通常为/tmp,在WINDOWS系统上为C:\WINDOWS\TEMP。)此目录中的副本空间不足可能导致LOAD DATA LOCAL语句失败。
由于mysqlimport
实用程序基本上是LOAD DATA INFILE语句的包装器,因此这也适用于您