像mysqldump一样用python备份mysql数据库不是从服务器而是从客户端

问题描述 投票:0回答:1

我用 python 完成了我的大项目,简而言之,它是一个管理数据库的 GUI。数据库中存储的数据非常重要,我想确保如果服务器停止运行,我仍然会有数据库的备份。

问题是我公司的服务器并不真正在我的控制之下,所以我无法创建一个脚本来使用 mysqldump 直接从服务器备份云中或任何安全的地方的数据库。所以我想做一件事,就像每次有人从客户端角度在数据库中提交数据时,数据库都是备份。问题是客户端没有在他们的电脑上安装 mysql,所以我无法在他们执行的应用程序中实现 mysqldump 命令。

要将 mysql 与 python 一起使用,我使用了 mysql.connector ,它工作得很好,但我在文档中没有找到将 mysqldump 与 python 一起使用的方法,也没有找到可以在 python 中执行相同操作的其他库。 有没有办法让客户端使用我的 python 应用程序创建 mysql 数据库备份? 谢谢!

python mysql database mysql-python
1个回答
0
投票

在数据库服务器上生成转储很慢(取决于数据大小),在此过程中锁定表甚至整个数据库(或以其他方式产生不一致的备份),大小很大(带有 INSERT 语句的一个文件中的整个数据集)。

不要在每次客户交易后都这样做。客户会不高兴的。

如果 (a)“存储在数据库中的数据确实很重要”,但 (b)“我公司的服务器并不真正在我的控制之下”,那么,从逻辑上讲,(c) 保证数据安全不是你的责任,只需让它走了。优秀的 DBA 会创建服务器的只读副本,定期在其上运行完整备份,并拥有足够的 binlog 空间用于时间点恢复。这是他们的工作。他们自然会为此付出代价。这个主题与应用程序开发完全无关。

顺便说一句,如果您的公司没有 DBA,那么 (a) 的说法就是不正确的。或者至少你公司的 CTO 不认为它“真的很重要”。

© www.soinside.com 2019 - 2024. All rights reserved.