兩個Linux VPS之間網站以及MYSQL數據的備份與恢復(網站遷移教程)
相信現在隨便問一個站長,我想10個當中最少有4-5個人手里都有VPS主機吧?然而,對于我們剛接
觸的人來說,根本就好像面對“天書”一樣,讓你無處入手。我也是好不容易學會了如何分辨VPS的配
置以及一些測試方法。卻又遇到了VPS轉移的問題。由于,手里的VPS多了,好幾個的站點也不斷的要
轉移。如果單單是一兩個小數據的話還沒什么難的,用土方法:用FTP下載到本地再上傳。MYSQL數據
庫方面:就用PHPMYADMIN導出以及導入到另外一個VPS上面。但是,有沒有發現這個也很耗時間?
而且如果你面對MYSQL數據庫超過幾百兆或者上千兆的話。我不覺得有什么快的或者好的方法將數據庫
MYSQL導入到另外一個服務器上。本人也嘗試過了“帝國數據庫備份”跟國外的“BigDump”兩個程序
導入。但是發現很容易出錯。這樣來回又耗時間又浪費精力。于是,只能找最原始的方法,那就是在服務
器中運用命令來備份跟數據轉移。但是,網絡上很多大俠跟前輩們寫的教程對于我們初學者來說根本就是
天書,有的大俠們甚至只寫出了命令。其他連介紹都沒有,這讓我們如何是好?估計只有寫那些教程的跟
那些老手們才知道當中的意思。(這里我只談LINUX VPS,本人沒有玩過WINDOWS的服務器。本文也
是總結了一下網絡上大俠們的方法,本人只是更加詳細,不想讓跟我一樣的初學者們走彎路)
1.網站程序打包 (備份)
一般LINUX VPS現在的安裝包下面建立的站點的時候。我們通常都是以域名來設置文件目錄。
由于我早期的VPS是安裝Directadmin安裝包(VPS1)。所以這邊舉的例子的目錄因為你安裝包不同的原因而文件夾路徑不同:
首先,打開VPS1。我輸入命令:cd /home/admin/domains/www.vpsroll.com (因為安裝包的原因,我只
能把網站打包在這個目錄,因為到時候轉移到另外VPS的時候需要可以訪問的網址。如果是LNMP的話,
命令是: cd /home/wwwroot/)
我的域名目錄是:/home/admin/domains/www.vpsroll.com (如果你是安裝LNMP那么目錄應該是:/home/wwwroot/www.vpsroll.com)
那么我在SSH里面輸入:tar -zcvf vpsroll.com.tar.gz /home/admin/domains/www.vpsroll.com
(LNMP中的話:tar -zcvf vpsroll.com.tar.gz /home/wwwroot/www.vpsroll.com)
也就是將 /home/admin/domains/www.vpsroll.com 這個目錄下的檔案全部打包并壓縮成為一個
www.vpsroll.com.tar.gz 的檔案 (linux VPS中壓縮文件(文件夾)的命令總結)。
2.網站程序轉移 (恢復)
接著,由于我的另外一個VPS(VPS2)安裝包是LNMP,所以SSH連接后。
我輸入命令:cd /home/wwwroot/回車
然后, wget http://vpsroll.com/vpsroll.com/tar.gz (如果是LNMP的話是 http://ip地址/vpsroll.com/tar.gz )
tar -zxvf vpsroll.com.tar.gz 網站目錄(如/home/wwwroot/www.vpsroll.com)
這樣網站就成功轉移了網站程序到新的VPS里面。
如果你的MYSQL數據庫不大的話 無需這樣恢復數據。直接從PHPMYADMIN那邊導入就行了。
3:MYSQL數據庫打包(備份) 4:MYSQL數據庫轉移(恢復)
MYSQL數據庫打包(備份)
在VPS1中找到你的MYSQL文件目錄。如果不知道在哪里的話可以在SSH使用命令:
whereis mysql或者 find mysql來查找。
一般會列出好幾個文件夾目錄。然后再用FLASHFXP的SSH連接。一個個的文件夾查找過去。我這邊找到的是在/var/lib/mysql/
輸入命令:cd /home/admin/domains/www.vpsroll.com 回車:(如果你是LNMP安裝包的話那么 輸入:cd /home/wwwroot/)
然后:mysqldump -u 數據庫用戶名 -p 數據庫名 > 任意名稱.sql (注意:會提示你輸入數據庫的密碼.
我這邊會生成:http://www.vpsroll.com/任意名稱.sql
如果是LNMP的VPS的話那么會生成:http://你的vps的IP/任意名稱.sql 這些地址是給VPS2用的)
MYSQL數據庫轉移(恢復)
打開 VPS2
輸入:cd /home/wwwroot/
wget http://www.vpsroll.com/任意名稱.sql(在VPS1中所備份的到的地址)
mysql -u 你的用戶名 -p 數據庫名 < 任意名稱.sql (會提示輸入密碼。任意名稱.sql是指:VPS1 中你備份的數據庫文件名)
希望對跟我一樣是初學者們有所幫助。