python做mysql数据迁移_python+mysqldump交互式数据迁移

mysql_data_migrate.py

#!/usr/bin/env python3

# -*- coding: utf-8 -*-

__author__ = "Jason Li"

import os

import time

"""

数据迁移:

Tips: 执行脚本前先安装python3

python3 mysql_data_migrate.py

"""

print("*" * 50,"请输入源数据库信息", "*" * 50)

src_db_host = input("Enter source db host:")

src_db_user = input("Enter source db user:")

src_db_pwd = input("Enter source db passwd:")

src_db_name = input("Enter source db name:")

print("*" * 50,"请输入目标数据库信息", "*" * 50)

dest_db_host = input("Enter dest db host:")

dest_db_user = input("Enter dest db user:")

dest_db_pwd = input("Enter dest db passwd:")

dest_db_name = input("Enter dest db name:")

filestamp = time.strftime('%Y-%m-%d-%I:%M')

filename = src_db_name + '-' + filestamp + '.sql'

def export_data():

"""

数据导出

:return:

"""

print(">>> Exporting...")

os.system("mysqldump --single-transaction -u%s -p'%s' -h%s %s > %s"% (src_db_user, src_db_pwd, src_db_host, src_db_name, filename))

def import_data():

"""

数据导入

:return:

"""

print(">>> Creating dest database...")

os.system("mysql -u%s -p'%s' -h%s -e 'create database %s'" % (dest_db_user, dest_db_pwd, dest_db_host, dest_db_name))

print(">>> Importing...")

os.system("mysql -u%s -p'%s' -h%s %s < %s"% (dest_db_user, dest_db_pwd, dest_db_host, dest_db_name, filename))

os.remove(filename)

def check_result():

"""

检查是否导入成功

:return:

"""

print(">>> Show tables from dest db...")

check_result = os.system("mysql -u%s -p'%s' -h%s %s -e 'show tables from %s'" % (dest_db_user, dest_db_pwd, dest_db_host, dest_db_name, dest_db_name))

print(check_result)

if __name__ == '__main__':

export_data()

import_data()

check_result()

mysql_structure_migrate.py

#!/usr/bin/env python3

# -*- coding: utf-8 -*-

import os

import time

"""

数据库表结构迁移:

python3 mysql_structure_migrate.py

"""

print("*" * 50,"请输入源数据库信息", "*" * 50)

src_db_host = input("Enter source db host:")

src_db_user = "adminroot"

src_db_pwd = input("Enter source db passwd:")

src_db_name = input("Enter source db name:")

print("*" * 50,"请输入目标数据库信息", "*" * 50)

dest_db_host = input("Enter dest db host:")

dest_db_user = "adminroot"

dest_db_pwd = input("Enter dest db passwd:")

dest_db_name = input("Enter dest db name:")

filestamp = time.strftime('%Y-%m-%d-%I:%M')

filename = src_db_name + '-' + filestamp + '.sql'

def export_structure():

"""

数据导出

:return:

"""

print(">>> Exporting...")

os.system("mysqldump --single-transaction -u%s -p'%s' -h%s -d %s > %s" % (src_db_user, src_db_pwd, src_db_host, src_db_name, filename))

def import_structure():

"""

数据导入

:return:

"""

print(">>> Creating dest database...")

os.system("mysql -u%s -p'%s' -h%s -e 'create database %s'" % (dest_db_user, dest_db_pwd, dest_db_host, dest_db_name))

print(">>> Importing...")

os.system("mysql -u%s -p'%s' -h%s %s < %s" % (dest_db_user, dest_db_pwd, dest_db_host, dest_db_name, filename))

os.remove(filename)

def check_result():

"""

检查是否导入成功

:return:

"""

print(">>> Show tables from dest db...")

check_result = os.system("mysql -u%s -p'%s' -h%s %s -e 'show tables from %s'" % (dest_db_user, dest_db_pwd, dest_db_host, dest_db_name, dest_db_name))

print(check_result)

if __name__ == '__main__':

export_structure()

import_structure()

check_result()

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值