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

Chr*_*oen 0 python mysql

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

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

可能吗?

Wil*_*sem 6

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

mysqldump -u username -p database
Run Code Online (Sandbox Code Playgroud)

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

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

mysqldump -u username -p database > file.sql
Run Code Online (Sandbox Code Playgroud)

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

mysqldump -u username -p database | gzip --best > file.sql.gz
Run Code Online (Sandbox Code Playgroud)

如果你想在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)
Run Code Online (Sandbox Code Playgroud)

但这只是mysqldump命令的一些逻辑.

  • 完整的示例可以在这里找到:https://tecadmin.net/python-script-for-mysql-database-backup/ (2认同)