繁体   English   中英

使用MySQL / PHP导入大量数据

[英]Importing large amounts of data using MySQL/PHP

我们创建了一个导入脚本,该脚本将大约120GB的数据导入到MySQL数据库中。 数据保存在几个hunderd目录中(所有都是独立的数据库)。 每个目录都包含具有表结构和表数据的文件。

问题是; 它可以在我的本地计算机上使用一部分实际数据,但是在服务器上运行导入时(这需要几天时间)。 并非所有表都已创建(即使是在本地测试的表)。 奇怪的是,脚本在服务器上运行时在创建表时未显示任何错误。

在较高的层次上,脚本是如何工作的:

  1. 查找代表数据库的所有目录
  2. 创建所有数据库
  3. 每个数据库遍历表:创建表,填充表

在gist上添加了代码: https : //gist.github.com/3349872

添加更多日志记录以查看成功的步骤,因为您可能在内存使用或执行时间方面遇到问题。

为什么不从给定的CVS文件创建sql文件,然后只在bash中正常导入呢?

mysql -u root -ppassword db_something <db_user.sql

问题出在代码中。 愚蠢的错误。

在所有文件的子集上测试代码时,所有表信息和表内容(如果有)。 当不创建表计数时,该函数将输入一条日志语句,然后返回。 在实际数据上,这是一个错误,因为存在没有数据,没有结构的文件,因此在创建了几个表之后,某个数据库表的创建出错并返回了结果,因此没有创建其他表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM