php - 迁移网站 - 在迁移过程中保持数据库同步

标签 php mysql database server

我要将网站从一个服务提供商迁移到另一个。 之前的迁移是由一家托管公司执行的,这导致了相当大的问题,即用户数据/帖子/注册被发布到 2 个不同的服务器,具体取决于他们使用的 DNS 服务器。 之后合并数据库很困难,因为在两个数据库上,自动增量值已经移动,当需要合并 2 个数据库时,主键/自动增量值重叠,导致该行未被导入/插入,或者该行覆盖前一个。

有没有办法...将到达旧服务器的用户重定向到新服务器以避免数据库不同步。

我可以使用任何技巧/提示来避免再次发生这种情况吗?

最佳答案

设置两台服务器并进行测试以确保它们都能正常工作。

在新服务器(您要切换到的服务器)上将所有请求代理回旧服务器 Apache 示例

ProxyPass / http://oldip:80/
ProxyPassReverse / http://oldip:80/

将 DNS 切换为指向新服务器。

等待 24-48 小时,确保所有流量现在都通过新服务器路由回旧服务器。

删除代理设置。 停止 Apache 备份数据库 将它们发送到新服务器 恢复数据库备份 启动 Apache 。

您可以编写脚本来执行此操作。

为了加快数据库备份,您可以使用二进制日志,这样您只需要传输较新的一个

当您高兴时,新服务器正在运行。停止旧服务器运行。

应该可以在少量停机的情况下工作。

或者,减少您在 DNS 上的 TTL(注意:并非所有 DNS 缓存都尊重它,如果它很小)等待该更改处理 切换到新服务器,更高的 TTL,由于旧的 TTL 非常小,大多数人不会受到影响。

或者,将当前站点设置为只读,直到发生切换。

关于php - 迁移网站 - 在迁移过程中保持数据库同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27093929/

相关文章:

PHP Excel 使用 Php 变量选择条件格式区域

mysql - 临时表不存在错误

php - 如何插入带有列值自动增量 pk 值的记录?

mysql - 向具有相同 id 的一些表插入一行

java - 让用户通过应用程序连接数据库的正确方法

php - 什么是 Scriptol?

php - 使用php连接的SQL Server地址

php - 通过 MySQL 排序

java - Forbidden command : SHOW WARNINGS to MySql from SpringJDBC 的原因可能是什么

database - 两台服务器 Postgres 数据库之间的同步