import pymysql
import time
import datetime
import os
from itertools import chain
dbUser='root'
dbPasswd='Qwer_12345'
dbHost='192.168.18.134'
backupDir = '/root/backup/mysql/'
backupDate = time.strftime("%Y%m%d")
db = pymysql.connect('192.168.18.134','root','Qwer_12345','mysql')
cursor = db.cursor()
cursor.execute("show databases")
Alldatabasename = cursor.fetchall()
Alldatabasename = list(chain.from_iterable(Alldatabasename))
#Alldatabasename = Alldatabasename.split(",")
print(Alldatabasename)
db.close()
i = input("请输入要备份的数据库名称:")
if i in Alldatabasename:
cmd = 'mysqldump -u'+ dbUser + ' -p'+ dbPasswd +' '+ i + '>' + backupDir + backupDate + i + '.sql'
os.system(cmd)
print ('The database backup success! %s' %time.strftime('%Y-%m-%d %H:%M:%S'))
else:
print("%s 数据库不存在,请重新输入"% i)
你把cmd的值打印出来,然后再将这个值在命令行或者是终端上执行以下看能不能成功。
你导出的命令好像有问题
mysqldump -h主机名 -P端口 -u用户名 -p密码 --database 数据库名 > 文件名.sql
如果你导出的数据库和你程序是在同一服务器可以不要-h 端口是默认端口可以不要-P