如何在不影响应用程序事务的情况下为 mysql 进行 "hot" 数据库备份?

How can I take "hot" database backups for mysql without affecting application transactions?

我正在 运行 使用 mysql 作为数据库并托管在私人服务器上的应用程序。因为它包含非常敏感的数据,所以我不允许使用任何对数据有丝毫访问权限的云服务或第三方插件。这是一项法律授权,我不能绕过它。因此,诸如 AWS、MySQL 企业备份或任何此类服务之类的选项是毫无疑问的。另外,由于一些法律问题,我不能在数据库周围设置副本

我想以每小时的频率进行生产备份。截至目前,数据大小为 20 GB 以上,预计将以每月 7-8 GB 的速度增长。所有表格都使用 innodb 引擎。

所以,我不能简单地 运行 mysqldump 进行 sql 转储。我的应用程序不能停机。一种方法是复制整个数据文件夹并保持压缩状态。

在不影响应用程序事务的情况下进行数据库热备份的最合适方法是什么?

Percona's xtrabackup 被数据库管理员广泛使用。请务必仔细阅读说明书。