1. 程式人生 > >如何在兩個伺服器之間遷移MySQL資料庫

如何在兩個伺服器之間遷移MySQL資料庫

英文原作者:Etel Sverdlov   轉載&翻譯來源:https://www.digitalocean.com/community/tutorials/how-to-migrate-a-mysql-database-between-two-servers

 

如何在兩個伺服器之間遷移MySQL資料庫

 

在虛擬專用伺服器之間傳輸資料庫可以使用SCP(安全複製)來完成,這是一種複製從SSH Shell派生的檔案的方法。請記住,您需要知道兩個虛擬伺服器的密碼。

要遷移資料庫,有兩個步驟:

 

第一步 - 執行MySQL轉儲

在將資料庫檔案傳輸到新VPS之前,我們首先需要使用mysqldump命令在原始虛擬伺服器上備份它。

mysqldump -u root -p --opt [資料庫名稱]> [資料庫名稱] .sql 

mysqldump -u root -p --opt [database name] > [database name].sql

執行轉儲後,您就可以傳輸資料庫了。

 

第二步 - 復​​制資料庫

SCP幫助您複製資料庫。如果使用上一個命令,則將資料庫匯出到主資料夾。

SCP命令具有以下語法:

scp [資料庫名].sql [使用者名稱]@[servername]:path/to/database/

示例傳輸可能如下所示:

# 如果您有公網域名,或者自己搭建了局域網內部的DNS域名伺服器,或者在/etc/hosts設定了本地域名
scp newdatabase.sql [email protected]:~/
# 如果您沒有公網域名,或沒有設定區域網內部的域名,或沒有在/etc/hosts設定本地域名,請使用下面命令
scp newdatabase.sql [email protected]:~/

    連線後,資料庫將傳輸到新的虛擬專用伺服器。

PS:當然您不一定用SCP命令,可以直接U盤拷貝過去,可以使用rsync進行同步,也可以使用Git倉庫進行同步(Git倉庫:GitHub 、BitBucket、GitLab)

 

第三步 - 匯入資料庫

將資料傳輸到新伺服器後,可以將資料庫匯入MySQL:

mysql -u root -p newdatabase </path/to/newdatabase.sql

這樣,您通過SCP的轉移將完成。

PS:前提條件,請確保此需要匯入的資料庫伺服器已經建立了 newdatabse這個資料庫,如果沒有在執行上述命令前:

# 如果在需匯入的資料庫伺服器上沒有建立相應資料庫,請先建立資料庫
CREATE DATABASE newdatabase;

# 建立資料庫newdatabase完畢後,在執行匯入操作
mysql -u root -p newdatabase </path/to/newdatabase.sql

 

     英文原作者:Etel Sverdlov   翻譯作者:Miazzy Chaos ,轉載&翻譯來源:https://www.digitalocean.com/community/tutorials/how-to-migrate-a-mysql-database-between-two-servers