2013-01-10 268 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是最簡單的。