How to backup all MySQL databases using Python

April 1st, 2011 | Tags:
#!/usr/bin/env python
import ConfigParser
import os
import time

username = 'dbuser'
password = 'dbpassword'
hostname = 'localhost'

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

# Get a list of databases with :
database_list_command="mysql -u%s -p%s -h %s --silent -N -e 'show databases'" % (username, password, hostname)
for database in os.popen(database_list_command).readlines():
    database = database.strip()

    if database == 'information_schema':
        continue
    filename = "backups/%s-%s.sql" % (database, filestamp)
    os.popen("mysqldump -u%s -p%s -h %s -e --opt -c %s | gzip -c > %s.gz" % (username, password, hostname, database, filename))
No comments yet.