如何在兩個伺服器之間遷移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