如何在 Linux 上每日备份 mysql 并每小时备份二进制日志?

如何在 Linux 上每日备份 mysql 并每小时备份二进制日志?

我想知道如何每日备份 mysql 以及每小时备份二进制日志?

我不知道如何编写脚本来执行此操作(或使用 etc/crontab?)。

答案1

我通常会在其中添加 gzip 以节省空间:

mysqldump --add-drop-tables dbname | gzip > dbname.sql.gz

add-drop-tables 会在您恢复时自动删除表,否则恢复时您会收到表已存在的错误。

恢复:zcat dbname.sql.gz | mysql dbname

答案2

看一下自动mysql备份它使用 mysqldump 对 MySQL 数据库进行每日、每周和每月备份。它还会轮换每日和每周备份。

我看不出每小时备份二进制日志有什么理由。如果你担心磁头崩溃,最好将其存储在冗余磁盘上。

答案3

您研究过 mysqldump 吗?它是发行版的一部分。

运行crontab -e (以 root 或拥有 mysql 的用户身份运行)

输入以下内容:

0 0 * * * mysqldump databasename > nameofdumpfile

其中 databasename 是需要转储的数据库,nameofdumpfile 应该是所需转储文件的整个层次结构。

上述内容将在每天午夜转储,但您需要添加适合您的限定词。

相关内容