位置: 编程技术 - 正文

Python中MySQL数据迁移到MongoDB脚本的方法

编辑:rootadmin

推荐整理分享Python中MySQL数据迁移到MongoDB脚本的方法,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

MongoDB简介

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

MongoDB是一个文档数据库,在存储小文件方面存在天然优势。随着业务求的变化,需要将线上MySQL数据库中的行记录,导入到MongoDB中文档记录。

一、场景:线上MySQL数据库某表迁移到MongoDB,字段无变化。

二、Python模块:

使用Python的torndb,pymongo和time模块。

*注释:首先安装setup.py,pip,MySQLdb

Python中MySQL数据迁移到MongoDB脚本的方法

执行如下命令即可:

pip install torndbpip 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='.0.0.1', database='database', user='username', password='password')#connect to mongodb and obtain total lines in mysqlmongo = pymongo.MongoClient(' = mysql.query('SELECT max(table_field) FROM table_name')count = countlines[0]['max(table_field)']#count = print counti = 0 j = start_time = time.time()#select from mysql to insert mongodb by lines.for i in range(0,count,): #print a,b #print i #print 'SELECT * FROM quiz_submission where quiz_submission_id > %d and quiz_submission_id <= %d' %(i,j) submission = mysql.query('SELECT * FROM table_name where table_field > %d and table_field <= %d' %(i,j)) #print submission if submission: #collection_name like mysql table_name mongo.collection_name.insert_many(submission) else: i += j += continue i += j +=end_time = time.time()deltatime = end_time - start_timetotalhour = int(deltatime / )totalminute = int((deltatime - totalhour * ) / )totalsecond = int(deltatime - totalhour * - totalminute * )#print migrate data total time consuming.print "Data Migrate Finished,Total Time Consuming: %d Hour %d Minute %d Seconds" %(totalhour,totalminute,totalsecond)

*注释:按照自己的需求更改上述代码中的数据库地址,用户,密码,库名,表名以及字段名等。

四、执行迁移脚本:

[root ~]#python nmytomongo.py &> /tmp/migratelog.txt &

脚本执行完成后查看/tmp/migratelog.txt数据迁移消耗的时间。

简单学习Python time模块 本文针对Pythontime模块进行分类学习,希望对大家的学习有所帮助。一.壁挂钟时间1.time()time模块的核心函数time(),它返回纪元开始的秒数,返回值为浮点

python中私有函数调用方法解密 本文实例讲述了python中私有函数调用方法。分享给大家供大家参考,具体如下:与大多数语言一样,Python也有私有的概念:①私有函数不可以从它们的

Python松散正则表达式用法分析 本文实例讲述了Python松散正则表达式用法。分享给大家供大家参考,具体如下:Python允许用户利用所谓的松散正则表达式来完成这个任务。一个松散正

标签: Python中MySQL数据迁移到MongoDB脚本的方法

本文链接地址:https://www.jiuchutong.com/biancheng/386122.html 转载请保留说明!

上一篇:python遍历目录的方法小结(python遍历文件目录)

下一篇:简单学习Python time模块(教你学python)

  • 天猫店铺个人可以开吗
  • 作废的增值税普通发票还可以重新开吗?
  • 单位借款是否纳税
  • 应交税费贷方发生额表示什么金额
  • 借贷必相等为什么是错的
  • 小规模不报税会怎么样
  • 个体工商户化妆品经营范围
  • 收票据计息利息为什么要红字冲账?
  • 一般纳税人每个月几号报税
  • 接受实物投资纳印花税怎么缴纳?
  • 生产过程半成品报废
  • 付款然后付的手续费如何做账?
  • 员工工资可以计入在建工程吗
  • 待处理财产损益借方余额代表什么
  • 增值税普通发票查询真伪
  • 企业账户短信提醒可以用别人手机号吗
  • 卫生巾的税率
  • 管理费用避税
  • 利息支出手续费
  • 个人所得税征收标准2023
  • 居民企业非货币性资产投资、转让所得如何缴税?
  • 成品油电子普通发票开错了
  • 小企业会计准则会计科目表
  • 月末进项税额结转会计分录
  • 激活windows11怎么激活
  • 国库年终总结
  • 捐赠视同销售为什么不确认收入?
  • Win11怎么设置自启动软件
  • 税务登记后每个月交什么钱
  • 补交之前年度税款怎么调账
  • php实现文件下载功能
  • windows7旗舰版最新版本
  • php时间计算
  • 结转本月完工产品成本120000元
  • 原生微信小程序面试题
  • 《linux内核分析》
  • shc命令
  • 固定资产的计提折旧在月初还是月末
  • 购买房屋用于出租属于投资行为吗
  • 供应商的质量扣款应该开什么发票
  • 附加税减免额怎么算
  • 建筑公司可以开3个点的专票吗
  • 建筑工程机械设备租赁属于什么行业
  • 资产处置损益和投资收益的区别
  • 企业所得税中资产计税基础怎么填
  • 小规模纳税人开的专票对方可以抵扣吗
  • 什么是金融资产和金融负债
  • 怎么处理部分股票流出
  • 无形资产减值准备借贷
  • 年底本年利润结转错了怎么调
  • 医院收费票据可以入账吗
  • 记账凭证附单据数怎么算
  • 已认证的发票怎么做账
  • 收到银行利息记什么会计科目
  • 资产损失扣除
  • 销售折让的会计分录
  • Navicat for MySQL导出表结构脚本的简单方法
  • ubuntu15.04安装教程
  • xp系统无法更换桌面壁纸
  • ubuntu 16:9
  • 如何显示文件后缀win10
  • 让你的好朋友评价你图片
  • 虚拟机下安装操作软件
  • windows 命令行 ftp
  • win8怎么调出任务栏
  • window sdk for windows 8.1
  • windows10分辨率太高
  • win7ghost纯净版美化版
  • win7桌面怎么设置到d盘
  • node.js使用的v8引擎是由哪个公司开发的
  • 清除垃圾的系统
  • node.js入门教程
  • unity按钮函数
  • nodejs集成sqlite使用示例
  • jquery用法
  • ADB not responding. You can wait more,or kill"abd.exe" process manually and click 'Restar
  • 云办税大厅
  • 杭州税务稽查举报电话
  • 建筑工程施工企业资质
  • 城市配套费需要缴纳契税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设