MySQL数据库的备份

MySQL整数据库备份过程,以MariaDB 10.4为例。

备份

安装工具

执行备份

如果数据库在本机,启用了UNIX Socket连接方式,那么不需要提供鉴权:

如果数据库需要鉴权,那么我们首先创建一个只读的用户:

然后在远端执行备份:

分别备份每个数据库

考虑到把所有数据库备份到同一个文件不够scalable,我们可以先查询一下有哪些数据库,然后逐个备份。为了减小文件大小,加入了gzip压缩功能。(本来想用xz的,但是xz实在太吃CPU。)

最后完成的脚本是这样的:

在Docker内执行备份

我有一台服务器上有个Docker里面运行的Duplicati 2,它可以在执行备份之前触发一个脚本来实现自动导出MySQL数据库内容,但是Duplicati 2的官方容器里面没有操作数据库的工具。那么我们可以workaround一下:

启动Duplicati 2

执行备份


参考:

MySQL数据库的备份》有一个想法

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据