1. 程式人生 > >MySQL備份還原 快速轉移較大的資料量(mysqldump)

MySQL備份還原 快速轉移較大的資料量(mysqldump)

想將A伺服器中的資料庫快速轉移到B伺服器中,一般是先從A伺服器中備份下來,下載備份資料,還原到B伺服器中。使用phpMyAdmin備份和還原針對資料量很小的情況下很方便,資料量大的話很容易中斷失敗。

如何快速高效的將大資料轉移到另一個伺服器呢?綜合起來使用命令列的方式效率最高。

關鍵詞:MYSQL資料庫,mysql備份,mysql還原,資料庫備份,資料庫還原。

資料庫A賬戶資訊

伺服器地址:127.0.0.1

使用者名稱:username,密碼:password,資料庫名:dbname

資料庫B賬戶資訊

伺服器地址:127.0.0.2

使用者名稱:usernameb,密碼:passwordb,資料庫名:dbnamenew

常規步驟命令列:

備份並壓縮

mysqldump -uusername -ppassword dbname | gzip > /data/wwwroot/www/dbname.sql.gz

解壓並還原

gunzip < /root/dbname.sql.gz | mysql -uusernameb -ppasswordb dbnamenew

最佳方式介紹

還有一種直接將資料庫A直接轉移到資料庫B的方式(在伺服器A中執行)

mysqldump --default-character-set=utf8mb4 --host=127.0.0.1 -uusername -ppassword --opt dbname | mysql --host=127.0.0.2 -uusernameb -ppasswordb --default-character-set=utf8mb4 -C dbnamenew

備註 (來此加密(https://letsencrypt.osfipin.com):免費簡單的申請Let’s Encrypt證書,不需要搭建伺服器環境。)

1.必須保證伺服器B的資料庫能夠伺服器A訪問

2.--opt命令可選,建議加上。等同於指定 --add-drop-tables--add-locking --create-option --disable-keys--extended-insert --lock-tables --quick --set-charset。它可以給出很快的轉儲操作併產生一個可以很快裝入MySQL伺服器的轉儲檔案。

3.--default-character-set=utf8mb4 指定該資料庫連線的字元型別。如果伺服器預設未utf8的話,匯出的資料可能會丟失四位元組的unicode資訊(表情之類的)

4.-C 客戶端和伺服器之間啟用壓縮傳遞所有資訊。當然得要有咯。

mysql通過命令列快速轉移資料庫,一個命令(mysqldump)完成資料備份還原。