Mysql Workbench - 错误代码: 5. 内存不足

Mysql Workbench - Error Code: 5. Out of memory

提问人:Tshif 提问时间:4/19/2023 更新时间:4/19/2023 访问量:205

问:

我正在使用 myworkbench 8.0 将数据从 8.0.32G csv 文件导入 16G csv。我收到“错误代码:5.内存不足(需要 784334881 字节)”。机器规格:Win 10,8Gb 内存。CSV 是 |分隔。

使用的 import 语句:

加载数据文件“C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/IT14_Prov20230412P.csv” 进入表_original 字符集 LATIN1 以“|”结尾的字段 忽略 1 行;

My.ini 设置如下:

innodb_buffer_pool_size=1克 innodb_buffer_pool_instances=8

我尝试更改为 innodb_buffer_pool_size=2G。问题仍然存在。

为了测试文件内容,我尝试使用 Python 遍历文件。内容看起来很好,但循环总是在第 411452 行停止,突然间,机器冻结了,没有错误。我不知道循环停止、机器冻结和上述错误是否相关。

这是我的 Python 测试代码:

将 open(file_name, “r”, encoding='latin-1') 作为文件: csv_dict_reader = csv。DictReader(文件,分隔符='|') 对于csv_dict_reader中的行: print(csv_dict_reader.line_num - 1, 行)

运行时错误 内存不足 mysql-workbench load-data-infile 导入 csv

评论

0赞 Nico Haase 4/19/2023
听起来你应该从 shell 运行导入 - 但你的方法和我的方法都与编程无关,这使得你在 StackOverflow 上的问题偏离了主题
0赞 Tshif 4/19/2023
感谢您的回复 Nico,非常感谢。我尝试了 shell 路由,但导入仍然停止并显示消息“错误 5 (HY000):内存不足(需要784334881)。但是,使用外壳时机器不会冻结。
0赞 Wilson Hauck 4/19/2023
你能用 IGNORE 411452 ROWS 加载 csv 的“后半部分”吗?如果是这样,请获取后半部分,然后限制前半部分并将它们放在一起。听起来第 411452 行可能有 BLOB。
0赞 Tshif 4/20/2023
威尔逊,你的怀疑看起来是正确的,谢谢一百万。我使用了 IGNORE 411452并遇到了类似的错误,411453遇到了同样的问题,但411454成功处理而没有错误。

答: 暂无答案