想將A服務器中的數據庫快速轉移到B服務器中,通常是先從A服務器中備份下來,下載備份數據,還原到B服務器中。使用phpMyAdmin備份和還原針對數據量很小的狀況下很方便,數據量大的話很容易中斷失敗。php
如何快速高效的將大數據轉移到另外一個服務器呢?綜合起來使用命令行的方式效率最高。mysql
關鍵詞:MYSQL數據庫,mysql備份,mysql還原,數據庫備份,數據庫還原。sql
服務器地址:127.0.0.1數據庫
用戶名:username,密碼:password,數據庫名:dbname服務器
服務器地址:127.0.0.2大數據
用戶名:usernameb,密碼:passwordb,數據庫名:dbnamenewui
備份並壓縮加密
mysqldump -uusername -ppassword dbname | gzip > /data/wwwroot/www/dbname.sql.gz
解壓並還原spa
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)完成數據備份還原。