![备份 MySQL 数据库(最长一个月或有空间时)](https://linux22.com/image/957965/%E5%A4%87%E4%BB%BD%20MySQL%20%E6%95%B0%E6%8D%AE%E5%BA%93%EF%BC%88%E6%9C%80%E9%95%BF%E4%B8%80%E4%B8%AA%E6%9C%88%E6%88%96%E6%9C%89%E7%A9%BA%E9%97%B4%E6%97%B6%EF%BC%89.png)
我正在使用 deja-dup 备份我的文件。但是我如何对 MySQL 执行同样的操作?我看到了一些 cron 脚本,但它们会永久保存备份。我认为 deja-dup 的功能允许将备份保存长达一个月或只要有空间。MySQL 有类似的东西吗?
答案1
- 将您的 MySQL 数据库导出到文本文件并将其放在 Deja-Dup 可以获取的位置。
mysqldump -u {your_DB_username} -p {your_database} > {/home/{user}/textfile.sql}
在询问您的 MySQL 用户密码后,将创建一个文件textfile.sql
。假设您备份了主目录,则将其备份。
在备份之前,你也可以使用以下方法压缩它以节省空间:gzip /home/{user}/textfile.sql
答案2
我会推荐automysqlbackup
。这是运行的脚本
cron
,使用 对你的 MySQL 数据库进行每日、每周和每月备份mysqldump
。
当然,这意味着它具有与 相同的缺点mysqldump
:它必须在“转储”期间锁定数据库,但对于小型数据库(当转储快速完成时)或仅在没有人想使用数据库时发生这种情况(例如,您在晚上备份的桌面),这应该不是问题。如果您mysqldump
手动使用,您应该了解它在您的案例中阻塞了多长时间(当然您的数据库可能会随着时间的推移而增长)。
此外,每日备份每周轮换一次,每周备份以 5 周为周期轮换一次(只有每月备份会永久保留),并且 SQL 转储会自动压缩,因此在大多数情况下,总磁盘空间使用量不会也大的。