mysql数据怎么快速导入到Mongodb ?


现有2个mysql表(字段不同) 总共是1000多W条记录,现在想导入到mongodb 一个表中
每条记录都要经过一定的处理。
所以想请教有什么最快的方式来处理这个数据。

mysql mongodb

平铺的咸鱼 12 years, 2 months ago

Mongodb数据库不熟悉,但是思路这样,你研究一下Mongodb数据导出文件是什么样式的。 然后,把mysql这2个表生成一个这样的文件,再导入进去。这样比每条处理记录要快吧,尤其是批量处理的时候。

sinaper answered 12 years, 2 months ago

方法有几种,你可以根据自己的应用场景选择。

  1. 通过mysql工具将数据导出为csv/json格式的文件,然后使用mongodb自带的mongoimport导入数据。 (当数据量非常大的时候,可以pre-spliting + multi-mongoimport加快导入速度)

  2. 使用两个工具: Navicat PremiumMongoCola 前者可以将MySQL导出(txt ,sql,mdb)等格式, 后者可以将(mdb)格式的数据库转入MongoDB
    注意:某些text类型的字段可能支持的不是很好,需要提前转成vchar

  3. 使用程序处理,把mysql数据里面几千万条数据写到mongoDB里面。假设你用的是php,如果其他语言就看这个思路,假设已经安装好php与mongoDB的driver:

    1. 在php.ini中设置memory_limit = xxxM,把原来的值提高,看你的系统,不要超过3GB。
    2. 修改php.ini中设置maxexecutiontime = xxx这个时间也要调高。
    3. 在php中配置好数据库,和mongoDB的连接,写循环,从mysql里面循环出一组数据放入到mongoDB的collection里面。可以一条一条导,时间会很长,也可以一组一组导入,每组不要超过10w条(建议,可以设置低一些)
    4. 等待导入完毕即可。
Kaedei answered 10 years, 3 months ago

Your Answer