PythonがMySQLデータベースをバックアップする方法の例

1877 ワード

この例では、PythonがMySQLデータベースのバックアップを実現する方法について説明します.皆さんの参考にしてください.具体的には以下の通りです.

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# 
import MySQLdb
import time
import datetime
import os
"""
 Purpose:  
 Created: 2015/5/12
 Modified:2015/5/12
 @author: guoyJoe
"""
dbUser='root'
dbPasswd='root'
dbHost='192.168.1.6'
dbCharset = 'utf8'
backupDir = '/u02/backup/mysql'
backupDate = time.strftime("%Y%m%d")
# MySQL 
sqlStr1 = "show databases like 'db%'"
try:
  connDB= MySQLdb.connect("192.168.1.6","root","root","test" )
  connDB.select_db('test')
  curSql1=connDB.cursor()
  curSql1.execute(sqlStr1)
  allDatabase = curSql1.fetchall()
  print 'The database backup to start! %s'  %time.strftime('%Y-%m-%d %H:%M:%S')
  for db in allDatabase:
    dbName = db[0]
    fileName = '%s/%s_%s.sql' %(backupDir,backupDate,dbName)
    print fileName
    if os.path.exists(fileName):
        os.remove(fileName)
    os.system("mysqldump -h%s -u%s -p%s %s --default_character-set=%s > %s/%s_%s.sql" %(dbHost,dbUser,dbPasswd,dbName,dbCharset,backupDir,backupDate,dbName))
  print 'The database backup success! %s' %time.strftime('%Y-%m-%d %H:%M:%S')
# 
except MySQLdb.Error,err_msg:
  print "MySQL error msg:",err_msg


Pythonに関する詳細について興味のある読者は、「Python+MySQLデータベースプログラム設計入門チュートリアル」、「Pythonよくあるデータベース操作テクニック要約」、「Python数学演算テクニック総括」、「Pythonデータ構造とアルゴリズムチュートリアル」、「Python関数使用テクニック総括」、「Python文字列操作テクニック要約」、『Python入門と進級経典教程』及び『Pythonファイルとディレクトリ操作技術要約』
ここではPythonプログラムの設計に役立つことを願っています.