在 s3 中备份 mysql 的最佳方法是什么?

在 s3 中备份 mysql 的最佳方法是什么?

mysqldump 可能不是每隔 x 小时运行一次备份的最佳方法,但我们目前正在使用这种方法。每个备份大约 150 MB,因此将其发送到其他机器可能会浪费许多 GB 的带宽。

是否有任何工具、应用程序或脚本可以自动创建备份并上传到 s3 amazon 服务或任何类似服务。

谢谢。

答案1

赞曼達企業为 S3 提供备份。

答案2

您可以设置 LVM 和/或备份从属设备。

On the target machine:
mysql> STOP SLAVE -- if a back-up slave is used
mysql> FLUSH TABLES READ LOCK
^Z
% lvm_snapshot_blah blah-blah on /mnt/backup_image  
% fg
mysql> UNLOCK TABLES
mysql> START SLAVE -- if a back-up slave is used
^Z
% mount /mnt/backup_image /mnt/backup
% s3upload_recursively /mnt/backup/mysql_data https://s3.amazon.com/blah_blah

答案3

节省空间和带宽的一个好方法是仅备份已更新的表。

我偶然发现了这一点,但它看起来像是一个备份脚本的良好起点:

SELECT TABLE_NAME, UPDATE_TIME, CREATE_TIME
FROM information_schema.tables
WHERE TABLE_SCHEMA = 'database_name' AND UPDATE_TIME > CREATE_TIME;

相关内容