代碼乾貨 | 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=
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章