如何将 MySQL 数据库从一台服务器复制到另一台服务器?

如何将 MySQL 数据库从一台服务器复制到另一台服务器?

我刚刚用 Joomla! 1.6 制作了一个网站。Joomla! 中的网站由两个基本部分组成。一部分是 HTTP 服务器使用的文件,另一部分是数据库。我可以通过 FTP 访问服务器,并复制了所需的文件,但我不知道如何复制 MySQL 数据库。

我可以访问远程计算机上的 MySQL 终端应用程序以及我计算机上的 MySQL。服务器上已经有一个我可以使用的用户名,并且有一个我应该使用的空数据库。用户可以完全控制数据库。

我无法物理访问远程服务器。

这个应该非常简单,但是今天谷歌不在我身边。

答案1

此链接(直接取自 MySql 文档...)向您展示如何使用 MySql 实用程序将数据库移动到其他位置。我个人从未需要这样做,但详细的说明应该足够了。

答案2

实现此目的有两种基本方法。

1)将数据库转储到文本文件并在远程端导入

2)复制原始数据文件。

选项一通常是最可靠的,特别是当两个系统不同时。

首先,创建数据库的转储:

$ mysqldump -u <username> -p<password> <databasename> | bzip2 >mydatabase.sql.bz2

这将转储整个数据库并将其压缩为一个文件。如果您不想压缩,则不必进行压缩,但这会使通过互联网传输文件的速度快得多。显然,请将用户名、密码和数据库名称替换为您的实际详细信息。

一旦您有了文件 mydatabase.sql.bz2,请使用您通常使用的任何工具(例如 scp)将其传输到远程服务器;

传输完成后,您需要在远程服务器上创建数据库(或者让系统管理员/控制面板为您创建):

mysql> create database <databasename>;
mysql> grant all privileges on <databasename>.* to <username>@localhost identified by '<password>'

显然用您自己的详细信息替换这些详细信息。

现在恢复数据库:

$ bzcat mydatabase.sql.bz2 | mysql -u <username> -p<password> <databasename>

片刻之后,您的数据库就应该安装在远程服务器上。

答案3

我已经将不少 Joomla 网站从开发服务器手动迁移到其最终托管服务器,但现在使用Akeeba 备份因为它创建了一个站点的“包”,可以将其上传到目标服务器,然后“执行”(从浏览器)以恢复站点 - 它非常棒、免费并且与 1.6 兼容。

值得一读:http://www.akeebabackup.com/software/akeeba-backup.html

相关内容