为了保证数据安全,一般都会定期备份数据库,备份数据库也有自己的命令可以执行,下面就是一个每天备份mysql数据库的一个小程序。
mysql备份的命令如下:
mysqldump -uroot -p123456 -A > backup.sql
def bak_db(self): #mysqldump -u%s -p%s -P%s -h%s -A > xx.sql #20180101.sql filename = str(datetime.date.today()) + '.sql'#备份今天的数据 abs_file = os.path.join(self.path,filename)#变成绝对路径 command = ''' mysqldump -u{username} -p{password} -P{port} -h{ip} -A > {filename} '''.format(username=self.username, password=self.password, port = self.port, filename = abs_file, ip = self.ip) os.system(command) #这句命令在windows 和linux都可以执行 print('done!数据库备份完成!')
主要是把命令封装在bak_db这个方法里,然后把只要将类 BackDb实例化(如下所示)就可以了,因为bak_db() 已经在构造函数里调过了,没写的话就调用db1.bak_db() 。
db1 = BackDb('localhost','root','123456')
还可以结合jenkins自动备份,有关jenkins的后期再更新。