首先利用命令将数据库中的1数据表导入一个txt文件里
mysql -uroot -p -e "show tables from discuz" >discuz.txt
将Discuz的数据表名导入discuz.txt
# -*- coding: UTF-8 -*-
import os
f = open('discuz.txt', 'r')
database='discuz'
user='用户'
passwd='密码'
i=0
b=0
while True:
i+=1
line=f.readline()
if not line.strip():
break
if i%30==0:
b=i/30+1
line= line[:-1]
try:
cmd = 'mysqldump -h localhost -u%s -p%s %s %s > %s-%s.sql' % (user, passwd, database, line, database, b)
print cmd
os.system(cmd)
except Exception:
pass
else:
b=i/30+1
line=line[:-1]
try:
cmd = 'mysqldump -h localhost -u%s -p%s %s %s >> %s-%s.sql' % (user, passwd, database, line, database, b)
os.system(cmd)
except Exception:
pass
tip:环境中innodb部分表损坏,mysqldump难以实现库的备份,单表备份在庞大的数据表数量中显得那么无力。
于是写此脚本,此脚本整合三十张表为一个数据文件;