jim*_*ont 7 mysql files csv large-data
我有一个非常大的 csv ~260GB,我想将它导入 MySQL。我在 MacOS 中使用以下 mysql 脚本
删除表如果存在 tmp_catpath_5;
创建表 tmp_catpath_5( a1 BIGINT(20),a2 BIGINT(20),a3 BIGINT(20),a4 BIGINT(20),a5 BIGINT(20), c1 BIGINT(20),c2 BIGINT(20),c3 BIGINT(20) ),c4 BIGINT(20),c5 BIGINT(20), INDEX (a5) );
将数据本地 infile '/Volumes/Time Machine Backups 1/tmp_catpath_5.csv' 加载到表 tmp_catpath_5 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' ;
它适用于较小的文件,例如 150GB,但对于此大小,数据库在加载命令后立即消失
错误 1049 (42000):未知数据库
MySQL 有大小限制吗?是别的吗?我使用 MAMP 应用程序中的 MySQL(MacOS 的 LAMP),它会与官方 MySQL 应用程序不同吗?
我不知道特定数据库引擎是否有限制,但我遇到了一些国防部管理员,他们管理每天导入 10TB 的 MySQL 系统,他们没有遇到此类问题。
与其使用宏,我建议编写一个脚本来解析输入文件并从中创建插入语句,这些语句可以直接提供给 MySQL。这样你就不会一次处理整个文件,一次只处理一行。我喜欢用 Perl 做这些事情。
您可能还想考虑使用 truncate 而不是每次删除表并重新创建它。
| 归档时间: |
|
| 查看次数: |
4896 次 |
| 最近记录: |