迁移 MySQL 数据库的最佳方法是什么?

迁移 MySQL 数据库的最佳方法是什么?

我们正在将一个繁忙的电子商务网站从一台服务器转移到另一台服务器。

它是PHP使用的应用程序MySQL. 两台服务器上均未安装 phpMySQL。我们使用MySQL 的 Navicat 基本知识管理数据库。

计划如下:

  1. 减少 DNS TTL。
  2. 用户使用 rsync 将文件从旧服务器传输到新服务器。
  3. 在旧服务器上,使用 Navicat 导出数据库,并在新服务器上导入转储的 SQL 文件。
  4. 在新服务器上进行测试(通过更改本地主机文件,以便在计算机上,域指向新服务器)
  5. 如果有任何问题,则排除故障并返回步骤 4。否则,转到步骤 6。
  6. 一旦步骤 4 一切顺利,请在 PHP 应用程序中打开维护模式(仍在旧服务器上运行)。
  7. 再次运行 rsync 以复制自上次 rsync 以来的所有剩余文件。
  8. 在 Navicat 中,在旧服务器上,对于相关数据库,转储 SQL 文件(结构和数据),然后在新服务器上,从最初导入的数据库中删除所有表,并执行刚刚转储的 SQL 文件。
  9. 使用新 IP 更新 DNS 详细信息,然后再次增加 TTL。

这是正确的做法吗?事实上,老实说,步骤 1-7 已经完成。我以前从未在迁移过程中使用过 Navicat(一直使用 phpMyAdmin),所以我担心步骤 8。步骤 8这应该如此吗,或者我应该做些不同的事情?

答案1

您描述的计划涉及应用程序停机或数据丢失(或两者兼而有之)。更推荐的方法是启动新的数据库服务器,将其配置为当前服务器(现在是主服务器)的从服务器,重新配置您的应用程序以将它们用作主/从服务器对。当从服务器赶上时(您可以连接到它并向它发送查询),提升从服务器/降级主服务器。

MySQL 复制配置文档

答案2

谷歌搜索发现最常用的方法是使用 mysqldump 命令。

https://dba.stackexchange.com/questions/174/how-can-i-move-a-database-from-one-server-to-another-最详细

http://www.networkworld.com/columnists/2004/092004drinternet.html 将 mysql 从 Linux 机器移至我的本地 Vista 机器的最简单方法是什么?

然而,有提及,您提到的正在使用的 Navicat 允许设置数据传输/复制。

希望这可以帮助。

相关内容