作為網站或伺服器營運人員,網站的備份與還原作業是必須熟練的。MySQL 資料庫的匯出和匯入操作是必不可少的,對於一般的使用者,可能使用的比較多的是 phpMyAdmin 這樣的可視化操作介面,但是這種介面操作在資料庫比較大的情況下,經常出錯。
如果你對Linux下的命令比較熟悉,並且自己使用的是 vps 或雲端服務器的話,可以使用 MySQL 相關命令來匯出和匯入資料庫,非常方便高效!
匯出資料庫
匯出資料庫為 db_wp.sql.gz 檔案:
mysqldump -u資料庫使用者名稱 -p資料庫密碼 --add-drop-table --complete-insert 資料庫名 | gzip > db_wp.sql.gz
請注意根據自己的實際情況,修改上面的“資料庫使用者名稱”、“資料庫密碼”、“資料庫名”為具體的值,一般來說,“資料庫使用者名稱”應該使用最高許可權的 root,資料庫密碼應該為 root 使用者的密碼
匯入資料庫
因為我們剛才匯出的資料庫是 gz 壓縮的,所以匯入前我們需要解壓:
解壓出來的檔案為 db_wp.sql,然後匯入到資料庫:
mysql -u資料庫使用者名稱 -p資料庫密碼 資料庫名 < db_wp.sql --default-character-set=utf8
mysql 錯誤 server has gone away
在操作過程中,可能會出現 mysql server has gone away 的錯誤,這是資料庫太大,緩衝不夠或操作逾時導致的,可以修改下 mysql 的配置來解決:
1、開啟設定檔(這裡示範的是軍哥的 lnmp 下的設定檔,如果你的路徑不是這個,自己找到)
2、找到 wait_timeout、interactive_timeout 兩個變數,設定值為
wait_timeout=2880000interactive_timeout = 2880000
如果沒有這兩個參數,直接添加即可
3、再找到max_allowed_packet,增加這個變數的值,比如 100M (也可以設定自己需要的大小)
max_allowed_packet = 100M
max_allowed_packet 參數的作用是,用來控制其通訊緩衝區的最大長度。
當然,其他參數可以根據自己的需要調整:
4、重啟 mysql 服務即可