数据库调试总结

最近在做AIS数据挖掘方面的工作,需要用到数据库,一共有140万条数据需要装载到本地的MySql服务器中。由于数据量比较大,需要对数据进行分割操作,批量导入。
1.数据分割操作:
利用Python写了一个文件分割器,由于所有数据经过AIS decoder解码后得到了逗号分隔的CSV文件,因此,文件分割只需要识别其中的‘,’号即可。这一步相对比较简单。
2.数据装载:
前前后后比较了很多数据加载的办法,总结一下优缺点:
1)利用Mysql workbench下的table data import wizard
此方法操作简单明了,但是对数据格式要求很多,由于不是从底层操作,需要各列数据的数据头必须在csv文件中能识别到。操作中,数据装载需要utf-8格式,而常规的数据格式是ANSI格式,切记需要转换。比较适合数据量小,且数据格式不多,且格式清晰的情况。耗时比较长。一般数据量多余万行不建议采用。
2)利用load datainfile方法
此方法是在底层操作数据库,对数据格式要求限制少,适合装载大量且复杂的数据。
基本命令:
load data infile“D:\xxxx.csv”into table xxx fields terminated by ‘,’ optionally enclosed by ‘”’ lines terminated by ‘\r\n’;
注意:数据文件最好放在C盘意外的其他盘,不然容易报error 1290错误。
如果有error1290错误,修复方法:
(1)show varibale like “%secure%”; 将文件放在指定目录
(2)修改my.ini文件,找到secure-file-priv=”……..”删除,重启mysql服务即可。

猜你喜欢

转载自blog.csdn.net/rechardchen123/article/details/78985645