linux伺服器資料庫備份
阿新 • • 發佈:2018-12-29
想將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
壓縮並還原
mysqldump -uusername -ppassword dbname | gzip > /data/wwwroot/www/dbname.sql.gz
最佳方式介紹
還有一種直接將資料庫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
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)完成資料備份還原。