创建一个python脚本,使用mysql数据库

时间:2017-05-20 11:24:34

标签: python mysql

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

问题是我想远程进行备份例程,因此文件将存储在不同的服务器中。为了确保如果我的服务器死机,数据不会随之消失。

有可能吗?

1 个答案:

答案 0 :(得分:5)

我不明白你为什么要在Python中这样做,因为已经有了一个命令:mysqldump。如果您使用以下命令指定:

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命令的一些逻辑。