python代码如何备份mysql 数据
# 命令
-----------------------------------------
# 将所有库数据 导出到all.sql文件里 两个命令都行
mysqldump -h主机名 -P端口 -u用户名 -p密码 --all-databases > D:/haha/all.sql
mysqldump -h主机名 -P端口 -u用户名 -p密码 -A > D:/haha/all.sql
------------------------------------------
# 将单独一个库数据 导出到aaa.sql文件里
mysqldump -h主机名 -P端口 -u用户名 -p密码 dbname > 备份文件.sql
mysqldump -h127.0.0.1 -P3306 -uroot -p222 aaa > D:/hahaha/aaa.sql
------------------------------------------
# 恢复
# 将aaa.sql备份文件恢复到test空库里面去!!!
mysql -uroot -p222 test < aaa.sql
.
.
.
代码实现自动备份数据库的效果
# 可以再加个定时任务,就可以定时备份数据库了,完美!!!
import os, datetime
class BakDb(object):
def __init__(self, ip, username, passwd, port=3306, path='D:/hahaha/aaa'):
self.ip = ip
self.username = username
self.passwd = passwd
self.port = port
self.path = path
self.path_exist()
self.bak_db()
def path_exist(self):
if not os.path.isdir(self.path): # 文件夹不存在的话,就创建就创建文件夹
os.mkdir(self.path)
def bak_db(self):
filename = str(datetime.date.today()) + '.sql'
abs_file = os.path.join(self.path, filename) # 变成绝对路径
# 所有库全备份的命令
# command = '''
# mysqldump -u{username} -p{passwd} -P{port} -h{ip} -A > {filename}
# '''.format(username=self.username,
# passwd=self.passwd,
# port=self.port,
# filename=abs_file,
# ip=self.ip)
# 单独一个aaa库的备份命令
command = '''
mysqldump -u{username} -p{passwd} -P{port} -h{ip} aaa > {filename}
'''.format(username=self.username,
passwd=self.passwd,
port=self.port,
filename=abs_file,
ip=self.ip)
os.system(command) # cmd终端执行mysqldump备份命令!!!
print('done!数据库备份完成!')
obj = BakDb('127.0.0.1', 'root', '222')
obj.path_exist()
obj.bak_db()
.
.
.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY