创建一个python脚本,用mysql数据库中的结构和数据文件创建一个sql转储

2024-05-13 12:16:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用python编写一个备份脚本,生成一个包含结构和数据的.sql文件,并将其保存在磁盘上?

问题是我想做一个远程备份的例行程序,所以文件将存储在另一个服务器上。。以确保如果我的服务器死掉,数据不会随之死掉。

有可能吗?


Tags: 文件数据服务器脚本sql远程备份结构
1条回答
网友
1楼 · 发布于 2024-05-13 12:16:07

我不明白为什么要在Python中这样做,因为已经有一个命令可以用于这个:^{}。如果指定为:

mysqldump -u username -p database

它将查询您的密码,然后将SQL语句写入stdout。

可以使用I/O重定向将其写入文件,例如:

mysqldump -u username -p database > file.sql

由于SQL是一种相当冗长的语言,您还可以通过通过gzip压缩器传递输出来构造压缩文件:

mysqldump -u username -p database | gzip --best > file.sql.gz

如果您想用Python“编写”一个自己执行调用的程序,可以使用subprocess

import subprocess

username = 'the_username'
password = 'the_password'
database = 'my_fancy_database'

with open('file.sql','w') as output:
    c = subprocess.Popen(['mysqldump', '-u',username,'-p%s'%password,database],
                         stdout=output, shell=True)

但这只是围绕mysqldump命令的一些逻辑。

相关问题 更多 >