gpt4 book ai didi

mysql - 将tomcat和mysql从一个Amazon EBS卷复制到另一个

转载 作者:行者123 更新时间:2023-11-29 05:34:25 25 4
gpt4 key购买 nike

我启动了一个以Amazon Linux和Amazon EBS为根卷的Amazon EC2。我还在这个EBS卷上启动了tomcat7和mysql 5.5。
后来我决定从Amazon Linux改成Ubuntu。为此,我需要启动另一个带有新EBS根卷的Amazon EC2实例。现在我想把tomcat7和mysql从旧的EBS卷复制到新的EBS卷。我有mysql中的表和数据,我不想丢失它们,还有一个在tomcat上运行的应用程序。怎么办?

最佳答案

一些想法和建议。
首先,如果您的数据库要承受任何类型的负载,那么在EBS备份的卷上运行它可能不是一个好主意,因为EBS备份的存储相对于机器的本地/临时存储(/mnt)来说速度非常慢。现在很明显,您不希望数据库数据存储在临时存储器上,所以如果您想在EC2上运行MySQL,您真的无能为力。因此,如果您的基础设施需求允许,我的建议是为您的数据库使用RDS实例。
其次,如果这是一个生产应用程序,那么在进行此转换时,无疑会有一些停机时间。问题是你是否需要绝对地减少停机时间。如果是的话,那么您需要知道数据库的大小。倾倒/装载要花很长时间吗?否则,您可能只需启动并运行新实例,并在数据库的旧副本上进行测试,然后在切换时转储并加载当前数据库。
如果它是一个大型数据库,那么也许可以启用MySQL二进制日志。然后在已知的二进制日志位置转储数据库。然后在新实例上安装此转储。然后,当准备切换时,可以在新实例上重放二进制日志,使其成为当前实例。类似地,您可以将新实例上的DB设置为副本,直到切换,此时您将其设置为主实例。
如果您不想干扰二进制日志记录,甚至可以考虑使用rsync来同步物理数据库文件,但是如果您不太熟悉处理实际的物理数据库文件,这可能是一种有问题的方法。
就您的应用程序而言,假设它只是一个文件集合,那么迁移应该简单得多。我不会复制Tomcat7安装本身,而是在Ubuntu上安装Tomcat,然后调整配置以匹配当前版本。
就割接本身而言,这应该是非常简单的,并且根据您是在为服务器使用弹性IP,还是在负载平衡器之后使用弹性IP,方法会有所不同,

关于mysql - 将tomcat和mysql从一个Amazon EBS卷复制到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11940621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com