这是一个来自自由职业者的方法论问题,有一个关于MySQL的推论。有没有办法从旧的专用服务器迁移到新的专用服务器而不会丢失任何数据 - 并且没有停机时间?在过去,我不得不在新服务器启动的时间(即所有文件已传输,系统启动和准备就绪)之间丢失MySQL数据,并且当我关闭旧服务器时(数据仍然转移到旧服务器直到新服务器)一个接管)。还有一段短时间内,两者都在关闭DNS等等,以刷新。
MySQL / root是否有办法轻松传输在特定时间范围内更新/插入的所有数据?
答案 0 :(得分:1)
我会做一个抱歉页面,把它放在旧服务器上,将所有数据传输到新服务器然后切换DNS。虽然会有停机时间。
答案 1 :(得分:1)
我喜欢做的是关闭网站并开始使用以下命令将DB移动到其他服务器:2,然后将所有文件(php ..etc)移动到另一台服务器(如果你有一些商店)每小时数据或更改文件,如图像上传)。并且将旧服务器指向新的数据库服务器,同时DNS将全部更改为新服务器。
答案 2 :(得分:1)
最长的停机时间来自DNS切换 - 可能需要几个小时甚至几天才能到达所有客户端缓存。
要避免它:
slave
来实现,它只需从主服务器上即时下载binlog,您将节省传输整个日志的时间,最有可能在最小负载期间奴隶将比主人落后几秒钟,并在应用被取消后迅速赶上,见how to force slave to catch up。此外,如果您使用文件上传到本地文件系统 - 这些也需要同步,并且在许多文件上这比使用db更痛苦,因为即使rsync扫描更改也可能需要花费很多时间。
答案 3 :(得分:0)
答案 4 :(得分:0)
不确定。在源服务器上启用bin日志记录。启动后,进行数据库转储并将其传输到新服务器并导入。然后,当您准备进行切换时,更改DNS(让更改在您工作时传播),然后在两台服务器上关闭该站点。将binlog复制到新服务器,并从转储的日期/时间开始再次运行它们。