mongodb简介
mongodb 是一个基于分布式文件存储的数据库。由 c++ 语言编写。旨在为 web 应用提供可扩展的高性能数据存储解决方案。
mongodb 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
mongodb是一个文档数据库,在存储小文件方面存在天然优势。随着业务求的变化,需要将线上mysql数据库中的行记录,导入到mongodb中文档记录。
一、场景:线上mysql数据库某表迁移到mongodb,字段无变化。
二、python模块:
使用python的torndb,pymongo和time模块。
*注释:首先安装setup.py,pip,mysqldb
执行如下命令即可:
pip install torndb
pip install pymongo
三、脚本内容如下:
[root ~]#cat nmytomongo.py
#!/usr/bin/env python#fielname: mytomongo.py#author:xkops#coding: utf-8import torndb,pymongo,time# connect to mysql databasemysql = torndb.connection(host=’127.0.0.1′, database=’database’, user=’username’, password=’password’)#connect to mongodb and obtain total lines in mysqlmongo = pymongo.mongoclient(‘mongodb://ip’).databasemongo.authenticate(‘username’,password=’password’)countlines = mysql.query(‘select max(table_field) from table_name’)count = countlines[0][‘max(table_field)’]#count = 300print counti = 0 j = 100start_time = time.time()#select from mysql to insert mongodb by 100 lines.for i in range(0,count,100): #print a,b #print i #print ‘select * from quiz_submission where quiz_submission_id > %d and quiz_submission_id %d and table_field