通过移动数据库和文件迁移 WordPress 网站

Avatar of Erez Elias
Erez Elias 发布

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 200 美元的免费额度!

以下是 Erez Elias 的客座文章。Erez 最近参加了一个 WordCamp,并写信给我,希望写一些关于 WordPress 的内容。我们一致认为这是一个有趣的话题,也是我一直想记录下来的内容,因为我一生中已经做过大约 100 次了,而且总有一些小细节需要查找。

我从 WordPress 用户那里看到的一个主要挫折来源是,当他们想要迁移 WordPress 网站时。就像,将整个网站从一个主机公司迁移到另一个主机公司。在本文中,我将引导您完成将 WordPress 网站迁移到新主机服务的 4 个简单步骤。

本文假设您同时拥有对服务器和服务器的访问权限。您可以通过 FTP 或 SSH 登录到两者。

步骤 1) 备份数据库

WordPress 将数据存储在 MySQL 数据库中。您需要迁移此数据库才能迁移网站,这可以说是最棘手的部分。您需要首先备份旧网站的数据库。

方法 1) 使用插件

有一种方法可以使用插件备份数据库。请注意,如果您正在处理大型数据库(例如,超过 50 MB),最好使用方法 2。

WordPress 有许多用于备份数据库的插件,我最喜欢的是一个名为 wp-db-backup 的插件。安装并激活插件后,在管理面板中选择工具 > 备份

该插件将查找同一数据库中的其他表。这些非“核心”WordPress 表可能来自您使用过的其他存储数据的插件。

选择是希望通过电子邮件发送备份文件还是直接下载,然后单击立即备份!按钮。

方法 2) 使用命令行

如果我们使用 SSH 备份,我们可以更接近底层。SSH(安全外壳)是一种网络协议,允许您通过加密连接安全地访问服务器。

首先,您需要连接到服务器。您需要拥有服务器的 IP 地址、用户名和密码。您还需要一个命令行客户端,例如 Mac 的终端或 Windows 的 Putty

$ ssh username@[server-ip]

如果这是您第一次建立连接,您将看到一个提示您确定要继续连接吗?输入yes并按回车键。然后系统将要求您输入 SSH 登录密码。之后,您将通过 SSH 连接到服务器。

现在,您可以使用以下命令导出数据库。

$ mysqldump -u [username] -p [database_name] > [name_your_backup_file].sql

您需要将 [括号] 中的选项替换为您自己的信息。此处的用户名与您的 SSH 登录名不同,它是您的 MySQL 访问用户名。如果您忘记了数据库名称,则可以从 `wp_config.php` 文件中获取。此命令执行后,还会提示您输入密码,该密码是数据库密码,您也可以从 `wp-config.php` 文件中获取。

这将创建一个文件(您在该命令的最后一部分中命名),该文件是数据库的完整备份。您可能希望导航到一个方便的目录以在其中运行该命令,以便它将在该目录中创建文件。或者在命令本身中放入该文件路径。

您需要获取此 database.sql 备份文件的本地副本。一种方法是通过 FTP 登录到服务器,导航到您转储它的位置,然后从那里下载它。或者,由于您已经在命令行中,因此关闭 SSH 连接并使用 scp 命令下载它。例如

$ scp [username]@[server-ip]:[backup_file].sql .

步骤 2) 备份文件

现在是时候备份旧服务器上的实际文件了。那里有您的主题文件、插件、上传…所有内容。甚至您的 WordPress 核心文件,尽管现在也是下载新服务器的新副本的好时机。

要从旧服务器下载所有文件,请使用 FTP 客户端(如 Filezilla)登录到您的服务器。要么从 Web 根目录下载所有内容,要么只下载 `wp-content` 文件夹(如果您要首先在新服务器上安装 WordPress 的新副本)。

这可能需要一段时间!它可能包含相当多的文件和图像。

步骤 3) 将文件移动到新服务器

现在,您也可以通过 FTP 登录到服务器,并将您刚刚从旧服务器下载的文件上传到 Web 根文件夹。这可能也需要一段时间(上传通常比下载慢一点)。

步骤 4) 将数据库导入新服务器

在此步骤中,您将数据库导入服务器。此步骤也有两种方法:通过 PHP myAdmin 或通过 SSH。

方法 1) 通过控制面板

大多数 Web 主机都会提供某种控制面板,让您访问数据库等内容。它可能是 cPanel。它可能是 Plesk。它可能是一些自定义的东西。

您可能将使用控制面板在新服务器上创建新数据库。控制面板很可能允许您访问名为 phpMyAdmin 的软件,这是一个专门用于通过 Web 管理 MySQL 的工具。

打开新网站的新数据库。

现在是关键时刻:导入旧网站的备份 `.sql` 文件!

单击顶部导航栏中的导入选项卡。

现在,您可以选择本地计算机上的 `.sql` 文件并运行它(按Go按钮)。

方法 2) 通过 SSH

如果数据库文件太大,就像导出一样,您可以通过 SSH 登录到服务器并在那里进行导入。首先将数据库导出上传到新服务器,然后通过 SSH 登录到服务器(上一节中提供了相关说明),然后运行以下命令以运行导入

$ mysql -p -u [username] [database_name] < [database_name].sql

同样,此处的用户名是 MySQL 用户,而不是 SSH 用户。

您可能还需要更改一些选项

如果您在迁移服务器的同时也更改了网站的URL,则可能需要执行一些其他 MySQL 操作。例如,如果您要从 domain-one.com 更改为 domain-two.com,则需要更改 `wp_options` 表中的 `siteurl` 和 `home` 选项。

但这不会更改帖子内容中硬编码的指向 domain-one.com 的引用(例如图像源)。如果您也需要更改这些内容,可以在关于将 WordPress 迁移到 HTTPS的帖子中找到一些可以参考的 SQL 语句,这可能会有所帮助。

希望本文能帮助您将 WordPress 网站迁移到新位置!