位置: 编程技术 - 正文

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

发布时间:2024-02-27

推荐整理分享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)

  • 小规模纳税人代收水电费税率
  • 税务师在哪里报名
  • 小规模企业增值税减免政策
  • 500以下的收据可以入账吗
  • 小微企业做什么
  • 餐饮发票数量单价必须填吗
  • 所得税费按年缴纳?
  • 装修工程人工费占总价比例
  • 手撕票几个点
  • 适用会计制度备注怎么填?
  • 出售简易征收的固定资产的增值税怎么计算
  • 申请生育津贴需要提供什么材料
  • 用盈余公积弥补亏损会影响所有者权益吗
  • 公司的利润怎样分配
  • 营改增后预交营业税怎么处理
  • 单位收到社保补缴通知书后怎么办
  • 往年的企业所得税季报可以更正吗
  • 资金账簿怎么交
  • 小规模纳税人增值税账务处理
  • 个体工商户转为个人独资企业
  • 债券的实际发行价格为什么
  • 预付账款和其他应收款可以抵消吗
  • 认缴制下实收资本可以一直为零吗
  • 资产减值损失能否在所得税税前扣除
  • 保险付款后几天给发票保单
  • 收料单的会计分录怎么做
  • 企业所得税汇算清缴扣除比例
  • 企业接受投资者的土地使用权投资
  • win11发热严重怎么解决
  • 未开票收入跨年度如何申报冲回
  • 如何才能显示效果更好
  • 过路费进项税抵扣填在纳税申报的哪行
  • 巴黎先贤祠的名言
  • 事业单位会计专业知识考什么
  • 卷曲的蕨菜叶怎么吃
  • 大堡礁的现状
  • 分公司注销,总公司账务处理
  • 没有发票怎么做研发费用
  • axios.interceptors.request.use简介
  • php操作json
  • tcpdump 监听指定端口
  • 帝国cms界面
  • MySQL Proxy的安装及基本命令使用教程
  • SQLite3中的日期时间函数使用小结
  • 股东可以领取工资吗
  • 简易计税开票税率
  • 新开公司怎么办理税务登记
  • 银行承兑汇票是商业汇票吗
  • 在与sqlserver建立连接时出现
  • 财务报表中存货为负数是什么意思
  • 发票冲红字蓝字怎么处理
  • 辅助生产车间的低值易耗品计入
  • 员工替公司垫付工资违法吗
  • 单位给个人转款怎么做账
  • 报销单与发票金额不符看什么
  • 收到伙食费的会计处理
  • 汽车4s店费用预算
  • 第一份工作的五个条件
  • 触发器的用法
  • redhat6.5安装图形界面
  • windows自带的
  • 资源管理器 windows
  • ubuntu可以不关机吗
  • macos 网速慢
  • windows8.1u盘安装教程
  • apache for mac
  • win8系统如何
  • linux+c
  • JavaScript实现QQ列表展开收缩扩展功能
  • shell脚本中执行echo卡住
  • Node.js中的全局变量有哪些
  • nodejs bull
  • js简单实现鼠标移动后面文字也移动
  • flask框架下使用scrapy框架
  • JQuery点击行tr实现checkBox选中的简单实例
  • 江苏城乡医疗保险网上缴费2024年
  • 组织收入原则是应收尽收坚决不收过头税费
  • 信用体系建设
  • 古代税收和现代税收
  • 个体工商户怎样交税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号