无需下载即可导出导入 SQL 数据库

无需下载即可导出导入 SQL 数据库

最近我需要将我的服务器更改为另一个网站托管提供商的服务器。为此,我发现我的 MySQL 数据库大小太大,无法使用我拥有的访问权限进行下载和上传。

使用 phpMyAdmin,我可以从当前的 MySQL 服务器导出并直接导入到新的 MySQL 服务器,这样就不必下载数据了?

答案1

您的短语“我拥有的访问权限”很有趣。您的带宽受限吗?空间受限吗?Shell 受限吗?解释这一点将有助于明确更适合您的特定参数的解决方案。

为了将数据库从一台机器传输到另一台机器,传输文件。您可以通过几种不同的方式进行传输:

1.)复制整个mysql目录(当然是在停止mysql之后)

rsync -a 主主机:/var/lib/mysql/ smaecond_host:/var/lib/mysql/

2.) 使用 mysqldump 将数据库转储到文件然后传输该文件:

在主服务器上:

mysqldump > [local_file]
rsync [local_file] secondary:host

在新服务器上:

mysql < [local_file]

3.) 如果你可以亲自访问其中一个或两个网站,Sneakernet 可能是一个不错的选择

如果带宽有限,可以使用 --bwlimit 开关来限制传输速率。如果空间有限,那么问题可能就大得多了。

答案2

这不使用 phpMyAdmin,因此可能不适用于您的情况。

如果使用 MySQL 并且您有 shell 访问权限,请考虑使用带有管道的 mysqldump。

http://www.cyberciti.biz/faq/mysqldump-pipe-mysql-output-and-input/

请注意,这可以锁定两个服务器上的表。此外,如果您不使用 SSH,数据将以纯文本形式发送。我经常在快速的专用网络链接上使用此方法。

相关内容