python中mysql数据迁移到mongodb脚本的方法

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

Posted in 未分类