移动数据库

作者:Shawn Powers

我最近将我的个人网站从 GoDaddy 迁移到了我的家庭服务器。我在家里有商业连接,而且我的网站流量很小,所以在我的静态 IP 上进行托管是有意义的。迁移文件并不难,我从旧服务器 FTP 下载了它们,然后通过 SFTP 上传到了新服务器。然而,移动数据库更具挑战性。

如果您有 shell 访问权限,这是一个非常简单的过程。在旧服务器上,输入

mysqldump -u username -p databasename > databasebackup.sql

您将被要求输入分配给“username”的密码,然后 mysqldump 将创建一个包含恢复数据库所需的所有信息的文件。但是,需要注意的是,在不同版本的 mysql 之间切换可能会出现问题。这就是 --compatible 标志派上用场的地方。您可以指定要导入到的数据库软件类型,并且 mysqldump 将(尝试)为您提供兼容的文件。一些选项包括 mysql323、postgresql、mysql40 等。有关更多选项以及所有选项的作用的解释,请查看手册页。

在新服务器上恢复数据库文件同样容易。只需输入

mysql -u username -p newdatabasename < databasebackup.sql

这应该可以简单轻松地传输您的数据。如果出现错误,您可能需要检查 --compatible 标志,甚至对数据库进行更多操作以使其兼容。 然而,GoDaddy 令人沮丧的事情之一是您无法获得对托管帐户的 shell 访问权限。由于我的帐户已被禁用,因此通过他们的网站可能提供的任何 mysql 工具也无法使用。 这就是定期在您的网站上运行一些备份软件非常重要的原因。 我能够从一周前进行自动备份,并将其简单地导入到我的新服务器中。

与大多数故事一样,这个故事的寓意是备份非常重要! 知道制作 mysql 数据库转储的工具是很棒的,但是如果某些东西已损坏,您将需要备份而不是新的转储。 如果您有任何其他将数据库从一个服务器移动到另一个服务器的提示,请随时将其留在评论中。

Shawn 是Linux Journal的副编辑,并且从一开始就接触 Linux。 他对开源充满热情,并且喜欢教学。 他也喝太多的咖啡,这经常在他的写作中表现出来。

加载 Disqus 评论