繁体   English   中英

在执行之前,ec2快照是否等待mysql查询完成?

[英]Do ec2 snapshots wait for mysql queries to finish before executing?

我找不到链接了,但我记得读过如果在写入数据库时​​正在拍摄ec2快照 - 如果你从该快照创建一个ami并从该ami启动一个实例,它可能无法正确加载由于二进制错误。 是在执行mysql查询时是否拍摄ec2快照,还是等待查询完成,然后锁定数据库然后拍摄快照?

另外 - 什么是mysql应用程序的快照最佳实践? 我需要在拍摄快照之前锁定我的数据库吗?

最后 - 我偶尔会拿这个数据库的mysqldumps。 当你使用mysqldump时,是否会从写入中冻结数据库,然后继续转储数据,还是需要在转储之前锁定我的数据库?

  1. 不,当您创建快照时,您不能保证文件系统不在写入的中间。 如果是高使用量,最好先冻结您的音量。 我使用XFS文件系统,只需使用XFS冻结来暂停文件系统。 (别忘了取消它)

  2. 最佳做法是刷新mysql表,锁定它们并冻结文件系统。 这样可以确保数据不会被破坏。

  3. mysqldump在确保您的数据没有损坏方面要好得多。 您可以依靠mysqldump为您提供良好的数据,而无需冻结整个世界。

看看我写的这个脚本来做这件事。

我通常有一个mysql主从设置,并且每天在slave上执行一次我的ebs快照,我会更频繁地将mysql转储并上传到s3。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM