mysql数据怎么快速导入到Mongodb ?
现有2个mysql表(字段不同) 总共是1000多W条记录,现在想导入到mongodb 一个表中
每条记录都要经过一定的处理。
所以想请教有什么最快的方式来处理这个数据。
平铺的咸鱼
12 years, 2 months ago
Answers
方法有几种,你可以根据自己的应用场景选择。
通过mysql工具将数据导出为csv/json格式的文件,然后使用mongodb自带的mongoimport导入数据。 (当数据量非常大的时候,可以pre-spliting + multi-mongoimport加快导入速度)
使用两个工具: Navicat Premium , MongoCola 前者可以将MySQL导出(txt ,sql,mdb)等格式, 后者可以将(mdb)格式的数据库转入MongoDB
注意:某些text类型的字段可能支持的不是很好,需要提前转成vchar使用程序处理,把mysql数据里面几千万条数据写到mongoDB里面。假设你用的是php,如果其他语言就看这个思路,假设已经安装好php与mongoDB的driver:
- 在php.ini中设置memory_limit = xxxM,把原来的值提高,看你的系统,不要超过3GB。
- 修改php.ini中设置maxexecutiontime = xxx这个时间也要调高。
- 在php中配置好数据库,和mongoDB的连接,写循环,从mysql里面循环出一组数据放入到mongoDB的collection里面。可以一条一条导,时间会很长,也可以一组一组导入,每组不要超过10w条(建议,可以设置低一些)
- 等待导入完毕即可。
Kaedei
answered 10 years, 3 months ago