代码干货 | MySQL上云同步脚本-Python3

本文来源于阿里云-云栖社区,原文点击这里


最近在做本地同步至云的脚本

使用kettle的话,几百个表的同步要一一设置,实在是蛋疼的紧

还好python可以解决一部分问题,所以写了个转换

由于5.6版本的mysql对null的处理不是很好,因此全部转为varchar型

blob和longblob,text都单独处理

#-*- coding: UTF-8 -*-
#获取对比列表
#表结构同步到云上mysql
#实现功能:oracle-mysql列转换/写入脚本/传输脚本
#待实现功能:执行脚本
#james.peng 20170905

import os 
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
import cx_Oracle
import pymysql
import datetime
import time

Start_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
date_nyr = time.strftime('%Y%m%d', time.localtime(time.time()))
#存放结果的txt
os_dir=os.chdir('/a/e/p/y')
remote_loc='/a/e/p/y/'+date_nyr+'/'
try:
    os.mkdir(date_nyr)
    linux_shell='chmod 777 '+date_nyr
    os.popen(linux_shell)
except:
    print('folder_existed!')
os_dir='/a/e/p/y/'+date_nyr
os.chdir(os_dir)

try:
    f=open(os_dir+'/create_y_script.txt','w')
    f.truncate()
    f.write("use "+Mysql_schema+";\n")
except:
    print('exception!')
print(os.getcwd())

#存放结果的list
create_yrs_table_list=[]

#parameters--参数设置
jump_server_host=
jump_server_destination=

Mysql_yrs_ip_port=
Mysql_yrs_username=
Mysql_yrs_passwd=
Mysql_yrs_db=
Mysql_yrs_port=
Mysql_yrs_schema=

 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值