2013-01-10 236 views
-2

我想要做的是连接到运行网站的数据库。然后将该数据库的内容复制到其他服务器上的另一个数据库中。这可以做到吗?远程连接到mysql数据库

+6

你到目前为止尝试了什么? – Friek

回答

1

是的,但这取决于数据库的设置方式。

出于安全原因,大多数运行在Web服务器后面的数据库都无法从外部访问。假设你有权访问服务器,最好的办法是登录到shell并转储数据库。 MySQL有工具mysqldump来帮助解决这个问题。在紧要关头:

mysqldump -u username -p schemaname > yourdatabasedump.sql 

或者,你可以在你的服务器上安装PhpMyAdmin(假设PHP启用),并从那里转储数据库。

导入是相反的。获取对其他服务器的shell访问权限并执行如下操作...首先,创建您的模式:

mysql -u someuser -p 

> CREATE DATABASE schemaname; 
> exit 

然后导入。

mysql -u someuser -p schemaname < yourdatabasedump.sql 
+0

脚注:如果您恰好将此作为从旧版本迁移到WordPress的一部分,您可能需要进行更多的黑客攻击。我已经给你简单的调用作为首发。 – paddy

2

它可以做到,有不同的方法来做到这一点。我将列出3种不同的方式

  1. 运行mysqldump -h<source host> | mysql -h<target host>。你必须阅读mysqldump选项来决定你需要添加哪些选项,并且你可能还需要为用户,密码和数据库提供选项。
  2. 复制mysql使用的所有文件,并将它们放在新主机上。只要新服务器配置的方式相同,即可使用
  3. 使用Perconas xtrabackup。如果数据库很大,这可能是最好的选择。数据库仍可在备份时运行。该选项将创建数据库的精确副本,并且可能或不需要。

一般来说,如果数据库很小,选项1是最简单的。